.elementor-1346 .elementor-element.elementor-element-d5c6d83{--display:flex;--min-height:50em;--flex-direction:column;--container-widget-width:100%;--container-widget-height:initial;--container-widget-flex-grow:0;--container-widget-align-self:initial;--flex-wrap-mobile:wrap;--justify-content:center;--overlay-opacity:0.5;--margin-top:-108px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1346 .elementor-element.elementor-element-d5c6d83:not(.elementor-motion-effects-element-type-background), .elementor-1346 .elementor-element.elementor-element-d5c6d83 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-image:url("https://adebolakurunmi.com/wp-content/uploads/2026/05/ddk-hero-8.webp");background-position:top left;background-repeat:no-repeat;background-size:cover;}.elementor-1346 .elementor-element.elementor-element-d5c6d83::before, .elementor-1346 .elementor-element.elementor-element-d5c6d83 > .elementor-background-video-container::before, .elementor-1346 .elementor-element.elementor-element-d5c6d83 > .e-con-inner > .elementor-background-video-container::before, .elementor-1346 .elementor-element.elementor-element-d5c6d83 > .elementor-background-slideshow::before, .elementor-1346 .elementor-element.elementor-element-d5c6d83 > .e-con-inner > .elementor-background-slideshow::before, .elementor-1346 .elementor-element.elementor-element-d5c6d83 > .elementor-motion-effects-container > .elementor-motion-effects-layer::before{background-color:var( --e-global-color-text );--background-overlay:'';}.elementor-1346 .elementor-element.elementor-element-38e21ae{--display:flex;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;}.elementor-1346 .elementor-element.elementor-element-c7363fd.elementor-element{--align-self:flex-start;}.elementor-1346 .elementor-element.elementor-element-c7363fd{color:var( --e-global-color-secondary );}.elementor-1346 .elementor-element.elementor-element-c7363fd a{color:var( --e-global-color-f062d6e );}.elementor-1346 .elementor-element.elementor-element-2d92587{text-align:start;}.elementor-1346 .elementor-element.elementor-element-2d92587 .elementor-heading-title{font-family:"Outfit", Sans-serif;font-size:70px;font-weight:700;color:#FFFFFF;}.elementor-1346 .elementor-element.elementor-element-14c14ac{width:var( --container-widget-width, 45% );max-width:45%;--container-widget-width:45%;--container-widget-flex-grow:0;text-align:start;font-family:"Satoshi", Sans-serif;font-size:25px;font-weight:400;color:#FFFFFF;}.elementor-1346 .elementor-element.elementor-element-14c14ac.elementor-element{--align-self:flex-start;}.elementor-1346 .elementor-element.elementor-element-4247aa4e{--display:flex;--padding-top:20px;--padding-bottom:20px;--padding-left:20px;--padding-right:20px;}:root{--page-title-display:none;}@media(min-width:1025px){.elementor-1346 .elementor-element.elementor-element-d5c6d83:not(.elementor-motion-effects-element-type-background), .elementor-1346 .elementor-element.elementor-element-d5c6d83 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-attachment:scroll;}}@media(max-width:1024px){.elementor-1346 .elementor-element.elementor-element-d5c6d83:not(.elementor-motion-effects-element-type-background), .elementor-1346 .elementor-element.elementor-element-d5c6d83 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:top left;}.elementor-1346 .elementor-element.elementor-element-38e21ae{--padding-top:0px;--padding-bottom:0px;--padding-left:20px;--padding-right:0px;}.elementor-1346 .elementor-element.elementor-element-14c14ac{--container-widget-width:70%;--container-widget-flex-grow:0;width:var( --container-widget-width, 70% );max-width:70%;}}@media(max-width:767px){.elementor-1346 .elementor-element.elementor-element-d5c6d83{--min-height:600px;}.elementor-1346 .elementor-element.elementor-element-d5c6d83:not(.elementor-motion-effects-element-type-background), .elementor-1346 .elementor-element.elementor-element-d5c6d83 > .elementor-motion-effects-container > .elementor-motion-effects-layer{background-position:-290px 25px;background-size:cover;}.elementor-1346 .elementor-element.elementor-element-38e21ae{--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:0px;--padding-bottom:0px;--padding-left:16px;--padding-right:16px;}.elementor-1346 .elementor-element.elementor-element-2d92587 .elementor-heading-title{font-size:50px;}.elementor-1346 .elementor-element.elementor-element-14c14ac{width:var( --container-widget-width, 80% );max-width:80%;--container-widget-width:80%;--container-widget-flex-grow:0;font-size:20px;}}/* Start custom CSS for shortcode, class: .elementor-element-2dba0fd *//* ==========================================================
       BRAND PALETTE
       #C33EC3  — magenta/pink  (primary accent, nav, header)
       #FCC201  — amber/yellow  (today, CTA, gold accents)
       #020202  — near-black    (dark widget bg, text)
       #fefefe  — near-white    (calendar bg, card text on dark)
       ========================================================== */
    .uew-wrap {
        --font-heading:  'Outfit', sans-serif;
        --font-body:     'Satoshi', sans-serif;

        /* Brand colors */
        --uew-pink:      #C33EC3;
        --uew-amber:     #FCC201;
        --uew-black:     #020202;
        --uew-white:     #fefefe;

        /* Calendar surface */
        --uew-page-bg:   #fefefe;
        --uew-cell-bg:   #fefefe;
        --uew-cell-alt:  #f5f5f5;
        --uew-outside:   #e8e8e8;
        --uew-border:    #e0e0e0;

        /* Semantic mappings */
        --uew-header-bg: #C33EC3;   /* DOW row */
        --uew-nav-bg:    #9a1e9a;   /* nav bar — darker pink */
        --uew-today-bg:  #FCC201;   /* today circle */
        --uew-divider:   #C33EC3;   /* card left border */

        /* Typography */
        --uew-text:      #020202;
        --uew-text-dim:  #555;
        --uew-text-out:  #bbb;

        /* Dark widget (card grid) */
        --uew-dark-bg:   #020202;
        --uew-dark-div:  #C33EC3;
        --uew-dark-rule: #1e1e1e;
        --uew-card-text: #fefefe;
        --uew-card-meta: #FCC201;   /* date / location text in cards */
    }

    .uew-wrap *, .uew-wrap *::before, .uew-wrap *::after {
        box-sizing: border-box;
        margin: 0;
        padding: 0;
    }

    /* ======================================================
       WIDGET — [upcoming_events] dark 3-up card grid
       ====================================================== */
    .uew-events-grid {
        display: grid;
        grid-template-columns: repeat(3, 1fr);
        background: var(--uew-dark-bg);
        align-items: stretch;
    }
    .uew-event-card {
        background: var(--uew-dark-bg);
        padding: 28px 28px 32px;
        border: 1px solid #2a2a2a;
        border-left: none;
        border-top: none;
        display: flex;
        flex-direction: column;
        position: relative;
    }
    .uew-event-card:last-child { border-right: none; }

    .uew-card-top {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        gap: 12px;
        margin-bottom: 14px;
    }
    .uew-card-month {
        font-family: var(--font-heading);
        font-size: 1.5rem;
        font-weight: 700;
        color: var(--uew-amber);
        letter-spacing: 0.01em;
        line-height: 1;
        text-transform: uppercase;
    }
    .uew-card-badge {
        display: inline-block;
        font-family: var(--font-body);
        font-size: 0.6rem;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #aaa;
        padding: 4px 9px;
        border-radius: 2px;
        border: 1px solid #444;
        background: transparent;
        font-weight: 500;
        white-space: nowrap;
        flex-shrink: 0;
        margin-top: 4px;
    }

    .uew-card-divider {
        height: 1px;
        background: #2a2a2a;
        margin-bottom: 20px;
    }

    .uew-card-title-area { flex: 1; margin-bottom: 28px; }
    .uew-event-title {
        font-family: var(--font-heading);
        font-size: clamp(1.15rem, 1.7vw, 1.55rem);
        font-weight: 600;
        color: var(--uew-card-text);
        line-height: 1.3;
    }

    .uew-event-meta { display: flex; flex-direction: column; gap: 9px; margin-top: auto; }
    .uew-event-meta-item {
        display: flex;
        align-items: center;
        gap: 9px;
        color: #888;
        font-family: var(--font-body);
        font-size: 0.82rem;
        letter-spacing: 0.01em;
        line-height: 1.4;
    }
    .uew-event-meta-item svg {
        flex-shrink: 0;
        width: 15px; height: 15px;
        fill: none;
        stroke: #666;
        stroke-width: 1.7;
        stroke-linecap: round;
        stroke-linejoin: round;
    }
    .uew-no-events {
        font-family: var(--font-body);
        color: #666;
        padding: 40px 32px;
        text-align: center;
        background: var(--uew-dark-bg);
        font-size: 0.9rem;
    }

    /* ======================================================
       CALENDAR — [all_events]
       ====================================================== */
    .uew-cal-wrap {
        background: var(--uew-page-bg);
        font-family: var(--font-body);
        position: relative;
    }

    /* -------------------------------------------------------
       STICKY HEADER  — FIX: use position:sticky + z-index.
       The wrapper must NOT have overflow:hidden on any ancestor.
       We add contain:layout paint so it forms its own stacking
       context without clipping sticky children.
       ------------------------------------------------------- */
    .uew-cal-sticky-head {
        position: sticky;
        top: 0;
        z-index: 200;          /* high enough to clear page chrome */
        /* Force a new stacking context so nav shadow renders above grid */
        isolation: isolate;
        /* Prevent the header from being clipped by a parent overflow */
        will-change: transform; /* triggers composited layer in most browsers */
    }

    /* ---- Nav bar ---- */
    .uew-cal-nav {
        display: flex;
        align-items: center;
        justify-content: space-between;
        background: var(--uew-nav-bg);
        padding: 20px 20px !important;
        user-select: none;
        box-shadow: 0 2px 10px rgba(0,0,0,0.22);
    }
    .uew-cal-nav-title {
        font-family: var(--font-heading);
        font-size: 1.15rem;
        font-weight: 600;
        color: #fff;
        letter-spacing: 0.04em;
        text-transform: uppercase;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
        margin: 12px 12px ;
        flex: 1;
        text-align: center;
    }
    .uew-cal-nav-btn {
        background: rgba(255,255,255,0.15);
        border: 1px solid rgba(255,255,255,0.3);
        color: #fff;
        border-radius: 4px;
        width: 40px; height: 40px;
        display: flex; align-items: center; justify-content: center;
        cursor: pointer;
        font-size: 1.1rem;
        transition: background 0.15s;
        flex-shrink: 0;
        touch-action: manipulation;
    }
    .uew-cal-nav-btn:hover  { background: rgba(255,255,255,0.28); }
    .uew-cal-nav-btn:active { background: rgba(255,255,255,0.42); }
    .uew-cal-nav-btn:disabled { opacity: 0.35; cursor: default; }

    /* ---- Day-of-week header ---- */
    .uew-cal-dow-row {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        background: var(--uew-header-bg);
    }
    .uew-cal-dow-cell {
        padding: 9px 9px !important;
        text-align: center;
        font-size: 0.65rem;
        font-weight: 700;
        letter-spacing: 0.12em;
        text-transform: uppercase;
        color: #fff;
    }

    /* ---- Day grid ---- */
    .uew-cal-grid {
        display: grid;
        grid-template-columns: repeat(7, 1fr);
        background: var(--uew-border);
        gap: 1px;
    }
    .uew-cal-day {
        background: var(--uew-cell-bg);
        padding: 8px 10px 12px;
        min-height: 120px;
        position: relative;
        vertical-align: top;
        overflow: hidden;
    }
    .uew-cal-day--alt     { background: var(--uew-cell-alt); }
    .uew-cal-day--outside { background: var(--uew-outside); opacity: 0.5; }

    .uew-cal-daynum {
        font-family: var(--font-heading);
        font-size: 0.82rem;
        font-weight: 500;
        color: var(--uew-text-dim);
        line-height: 1;
        margin-bottom: 6px;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        min-width: 26px;
        height: 26px;
    }
    .uew-cal-day--today .uew-cal-daynum {
        background: var(--uew-today-bg);
        color: var(--uew-black);
        border-radius: 50%;
        width: 26px;
        font-weight: 700;
    }

    /* ---- Event chip ---- */
    .uew-cal-event-chip {
        display: flex;
        align-items: flex-start;
        gap: 5px;
        margin-top: 4px;
        padding: 4px 7px;
        border-radius: 3px;
        font-size: 0.7rem;
        font-weight: 500;
        line-height: 1.35;
        color: #fff;
        cursor: pointer;
        border: none;
        width: 100%;
        text-align: left;
        transition: opacity 0.12s, transform 0.1s;
        word-break: break-word;
        white-space: normal;
        font-family: var(--font-body);
    }
    .uew-cal-event-chip:hover  { opacity: 0.82; transform: translateY(-1px); }
    .uew-cal-event-chip:active { opacity: 0.65; transform: none; }

    .uew-chip-dot {
        flex-shrink: 0;
        width: 6px; height: 6px;
        border-radius: 50%;
        background: rgba(255,255,255,0.7);
        margin-top: 4px;
    }
    .uew-chip-title { flex: 1; min-width: 0; }

    /* Loading overlay */
    .uew-cal-region { position: relative; transition: opacity 0.2s; }
    .uew-cal-region.uew-loading { opacity: 0.45; pointer-events: none; }
    .uew-cal-spinner {
        display: none;
        position: absolute;
        top: 50%; left: 50%;
        transform: translate(-50%, -50%);
        width: 32px; height: 32px;
        border: 3px solid #ddd;
        border-top-color: var(--uew-pink);
        border-radius: 50%;
        animation: uew-spin 0.7s linear infinite;
        z-index: 10;
    }
    .uew-cal-region.uew-loading .uew-cal-spinner { display: block; }
    @keyframes uew-spin { to { transform: translate(-50%,-50%) rotate(360deg); } }

    /* ---- Legend ---- */
    .uew-cal-legend {
        display: flex;
        flex-wrap: wrap;
        gap: 16px;
        padding: 18px 20px;
        border-top: 1px solid var(--uew-border);
        background: var(--uew-page-bg);
    }
    .uew-cal-legend-item {
        display: flex;
        align-items: center;
        gap: 7px;
        font-size: 0.72rem;
        color: var(--uew-text-dim);
        letter-spacing: 0.06em;
        text-transform: uppercase;
        font-family: var(--font-body);
    }
    .uew-cal-legend-dot { width: 10px; height: 10px; border-radius: 2px; flex-shrink: 0; }

    /* ======================================================
       MODAL — Single event detail  AND  multi-event list
       ====================================================== */
    .uew-modal-overlay {
        display: none;
        position: fixed;
        inset: 0;
        background: rgba(2,2,2,0.6);
        z-index: 9999;
        align-items: center;
        justify-content: center;
        padding: 20px;
    }
    .uew-modal-overlay.uew-modal-open { display: flex; }
    .uew-modal {
        background: #fff;
        border-radius: 8px;
        max-width: 420px;
        width: 100%;
        box-shadow: 0 24px 64px rgba(0,0,0,0.28);
        overflow: hidden;
        animation: uew-modal-in 0.18s ease;
    }
    @keyframes uew-modal-in {
        from { opacity:0; transform: scale(0.95) translateY(10px); }
        to   { opacity:1; transform: scale(1) translateY(0); }
    }

    /* Coloured top bar */
    .uew-modal-topbar {
        height: 5px;
        background: var(--uew-pink);
    }
    .uew-modal-header {
        display: flex;
        align-items: flex-start;
        justify-content: space-between;
        padding: 18px 20px 14px;
        border-bottom: 1px solid #eee;
        gap: 12px;
    }
    .uew-modal-title-wrap { flex: 1; }
    .uew-modal-badge {
        display: inline-block;
        font-size: 0.6rem;
        letter-spacing: 0.1em;
        text-transform: uppercase;
        color: var(--uew-black);
        background: var(--uew-amber);
        padding: 2px 9px;
        border-radius: 2px;
        margin-bottom: 8px;
        font-weight: 700;
        font-family: var(--font-body);
    }
    .uew-modal-title {
        font-family: var(--font-heading);
        font-size: 1.1rem;
        font-weight: 500;
        color: var(--uew-black);
        line-height: 1.3;
        margin: 0;
    }
    .uew-modal-close {
        background: none;
        border: none;
        font-size: 1.5rem;
        line-height: 1;
        color: #aaa;
        cursor: pointer;
        padding: 2px 4px;
        flex-shrink: 0;
        transition: color 0.15s;
    }
    .uew-modal-close:hover { color: #333; }
    .uew-modal-body {
        padding: 18px 20px 22px;
        display: flex;
        flex-direction: column;
        gap: 13px;
    }
    .uew-modal-row {
        display: flex;
        align-items: flex-start;
        gap: 11px;
        font-family: var(--font-body);
        font-size: 0.9rem;
        color: #333;
        line-height: 1.5;
    }
    .uew-modal-row svg {
        flex-shrink: 0;
        width: 18px; height: 18px;
        margin-top: 1px;
    }
    .uew-modal-footer { padding: 0 20px 20px; }
    .uew-modal-attend {
        display: inline-block;
        background: var(--uew-pink);
        color: #fff;
        font-family: var(--font-body);
        font-size: 0.82rem;
        letter-spacing: 0.08em;
        text-transform: uppercase;
        text-decoration: none;
        padding: 10px 24px;
        border-radius: 4px;
        transition: background 0.15s;
    }
    .uew-modal-attend:hover { background: #a02ba0; }

    /* ---- Multi-event list view inside modal ---- */
    /*
     * When a day has >1 event the modal shows a scrollable list
     * of event "rows". Clicking a row expands to the single-event
     * detail view (with a ← back button).
     */
    .uew-modal--list .uew-modal-topbar { background: var(--uew-nav-bg); }

    /* Day heading inside the list modal */
    .uew-modal-day-heading {
        font-family: var(--font-heading);
        font-size: 1rem;
        font-weight: 600;
        color: var(--uew-black);
        line-height: 1.3;
        margin: 0;
    }

    /* Scrollable list container */
    .uew-modal-event-list {
        list-style: none;
        padding: 0;
        margin: 0;
        max-height: 60vh;
        overflow-y: auto;
    }
    .uew-modal-event-list-item {
        display: flex;
        align-items: center;
        gap: 12px;
        padding: 14px 20px;
        border-bottom: 1px solid #f0f0f0;
        cursor: pointer;
        transition: background 0.12s;
    }
    .uew-modal-event-list-item:last-child { border-bottom: none; }
    .uew-modal-event-list-item:hover { background: #faf5fa; }
    .uew-modal-event-list-item:active { background: #f0e8f0; }

    /* Coloured square accent on list row */
    .uew-mel-accent {
        width: 10px;
        height: 10px;
        border-radius: 2px;
        flex-shrink: 0;
    }
    .uew-mel-info { flex: 1; min-width: 0; }
    .uew-mel-title {
        font-family: var(--font-heading);
        font-size: 0.9rem;
        font-weight: 500;
        color: #1a1a1a;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .uew-mel-meta {
        font-family: var(--font-body);
        font-size: 0.75rem;
        color: #888;
        margin-top: 2px;
        white-space: nowrap;
        overflow: hidden;
        text-overflow: ellipsis;
    }
    .uew-mel-arrow {
        color: #ccc;
        font-size: 1rem;
        flex-shrink: 0;
    }

    /* Back button in detail view (shown after drilling in from list) */
    .uew-modal-back {
        display: none;
        background: none;
        border: none;
        color: var(--uew-pink);
        font-family: var(--font-body);
        font-size: 0.8rem;
        font-weight: 600;
        letter-spacing: 0.05em;
        cursor: pointer;
        padding: 0;
        margin-bottom: 8px;
        align-items: center;
        gap: 4px;
    }
    .uew-modal-back.uew-visible { display: flex; }
    .uew-modal-back:hover { color: #a02ba0; }

    /* ======================================================
       RESPONSIVE
       ====================================================== */

    /* ---- Tablet (≤ 900px) ---- */
    @media (max-width: 900px) {
        .uew-events-grid { grid-template-columns: 1fr 1fr; }
        .uew-event-card:nth-child(2n) { border-right: none; }
        .uew-event-card:nth-child(n+3) { border-top: 1px solid #2a2a2a; }
        .uew-cal-day { min-height: 100px; padding: 6px 8px 10px; }
        .uew-cal-event-chip { font-size: 0.68rem; padding: 3px 6px; }
    }

    /* ---- Mobile (≤ 640px) ---- */
    @media (max-width: 640px) {
        .uew-events-grid { grid-template-columns: 1fr; }
        .uew-event-card {
            border-right: none;
            border-left: none;
            border-top: 1px solid #2a2a2a;
            padding: 24px 20px 28px;
        }
        .uew-event-card:first-child { border-top: none; }
        .uew-card-month { font-size: 1.25rem; }

        .uew-cal-nav { padding: 10px 12px; }
        .uew-cal-nav-title { font-size: 0.9rem; letter-spacing: 0.04em; }
        .uew-cal-nav-btn { width: 38px; height: 38px; font-size: 1rem; }

        .uew-cal-dow-cell {
            font-size: 0.6rem;
            letter-spacing: 0.03em;
            padding: 7px 0;
        }

        .uew-cal-day {
            min-height: 64px;
            padding: 6px 4px 6px;
            cursor: default;
        }
        .uew-cal-day--has-event { cursor: pointer; }
        .uew-cal-day--has-event:active { background: #f0e6f0; }

        .uew-cal-daynum {
            font-size: 0.72rem;
            min-width: 22px;
            height: 22px;
            margin-bottom: 4px;
        }
        .uew-cal-day--today .uew-cal-daynum { width: 22px; height: 22px; }

        /* Dot-only chips on mobile */
        .uew-cal-event-chip {
            width: 8px !important;
            height: 8px !important;
            min-width: 0 !important;
            padding: 0 !important;
            margin-top: 3px !important;
            border-radius: 50% !important;
            gap: 0 !important;
            font-size: 0 !important;
            line-height: 0 !important;
            overflow: hidden !important;
            transform: none !important;
            display: inline-block !important;
            vertical-align: middle;
        }
        .uew-cal-day .uew-cal-event-chip + .uew-cal-event-chip { margin-left: 3px; }
        .uew-chip-dot  { display: none !important; }
        .uew-chip-title { display: none !important; }

        .uew-cal-day {
            display: flex;
            flex-direction: column;
            align-items: flex-start;
        }
        .uew-cal-day .uew-cal-event-chip:first-of-type { margin-top: 4px; }

        .uew-cal-legend { gap: 10px; padding: 14px 12px; }
        .uew-cal-legend-item { font-size: 0.65rem; }

        .uew-modal { border-radius: 6px; }
        .uew-modal-overlay { padding: 12px; align-items: flex-end; }
        .uew-modal { animation: uew-modal-up 0.2s ease; }
        @keyframes uew-modal-up {
            from { opacity:0; transform: translateY(30px); }
            to   { opacity:1; transform: translateY(0); }
        }
    }

    /* ---- Very small phones (≤ 360px) ---- */
    @media (max-width: 360px) {
        .uew-cal-nav-title { font-size: 0.8rem; }
        .uew-cal-nav-btn { width: 34px; height: 34px; }
        .uew-cal-dow-cell { font-size: 0.55rem; }
        .uew-cal-day { min-height: 56px; padding: 5px 3px 5px; }
        .uew-cal-daynum { font-size: 0.68rem; min-width: 20px; height: 20px; }
        .uew-cal-day--today .uew-cal-daynum { width: 20px; height: 20px; }
    }/* End custom CSS */