.elementor-1434 .elementor-element.elementor-element-d3c7273{--display:flex;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:50px;--padding-bottom:0px;--padding-left:10px;--padding-right:16px;}.elementor-widget-heading .elementor-heading-title{font-family:var( --e-global-typography-primary-font-family ), Sans-serif;font-weight:var( --e-global-typography-primary-font-weight );color:var( --e-global-color-primary );}.elementor-1434 .elementor-element.elementor-element-eb57f70{padding:0px 0px 0px 0px;}.elementor-1434 .elementor-element.elementor-element-eb57f70 .elementor-heading-title{font-family:"Montserrat", Sans-serif;font-size:52px;font-weight:600;text-transform:uppercase;color:#000000;}.elementor-1434 .elementor-element.elementor-element-d048b32{--display:flex;--padding-top:0px;--padding-bottom:0px;--padding-left:16px;--padding-right:16px;}.elementor-1434 .elementor-element.elementor-element-a7523c5{z-index:10;}.elementor-1434 .elementor-element.elementor-element-ee2d7fa{--display:flex;--position:absolute;--padding-top:0px;--padding-bottom:0px;--padding-left:0px;--padding-right:0px;top:0%;}body:not(.rtl) .elementor-1434 .elementor-element.elementor-element-ee2d7fa{right:0px;}body.rtl .elementor-1434 .elementor-element.elementor-element-ee2d7fa{left:0px;}.elementor-widget-image .widget-image-caption{color:var( --e-global-color-text );font-family:var( --e-global-typography-text-font-family ), Sans-serif;font-weight:var( --e-global-typography-text-font-weight );}.elementor-1434 .elementor-element.elementor-element-3e0dee5{z-index:0;}.elementor-1434 .elementor-element.elementor-element-f719d2b{--display:flex;--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;--margin-top:0px;--margin-bottom:0px;--margin-left:0px;--margin-right:0px;--padding-top:150px;--padding-bottom:50px;--padding-left:16px;--padding-right:16px;}.elementor-1434 .elementor-element.elementor-element-779c018{margin:0px 0px calc(var(--kit-widget-spacing, 0px) + 30px) 0px;}.elementor-1434 .elementor-element.elementor-element-779c018 .elementor-heading-title{font-family:"Inter", Sans-serif;font-size:24px;font-weight:500;letter-spacing:1.1px;color:#000000;}.elementor-widget-loop-grid .elementor-button{background-color:var( --e-global-color-accent );font-family:var( --e-global-typography-accent-font-family ), Sans-serif;font-weight:var( --e-global-typography-accent-font-weight );}.elementor-widget-loop-grid .elementor-pagination{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-widget-loop-grid .e-load-more-message{font-family:var( --e-global-typography-secondary-font-family ), Sans-serif;font-weight:var( --e-global-typography-secondary-font-weight );}.elementor-1434 .elementor-element.elementor-element-9926923{--grid-columns:3;--grid-row-gap:67px;--load-more—spacing:90px;--load-more-button-align:center;--grid-column-gap:67px;}.elementor-1434 .elementor-element.elementor-element-9926923 .elementor-button{background-color:#000000;font-family:"Inter", Sans-serif;font-size:16px;font-weight:500;text-transform:capitalize;line-height:1.4em;fill:#FFFFFF;color:#FFFFFF;border-radius:0px 0px 0px 0px;padding:10px 16px 10px 16px;}.elementor-1434 .elementor-element.elementor-element-9926923 > .elementor-widget-container{padding:0px 0px 0px 0px;}:root{--page-title-display:none;}@media(max-width:1024px){.elementor-1434 .elementor-element.elementor-element-eb57f70 .elementor-heading-title{font-size:46px;}.elementor-1434 .elementor-element.elementor-element-f719d2b{--padding-top:100px;--padding-bottom:0px;--padding-left:20px;--padding-right:20px;}.elementor-1434 .elementor-element.elementor-element-9926923{--grid-columns:3;--grid-row-gap:35px;--grid-column-gap:35px;}}@media(max-width:767px){.elementor-1434 .elementor-element.elementor-element-d3c7273{--padding-top:0px;--padding-bottom:10px;--padding-left:16px;--padding-right:16px;}.elementor-1434 .elementor-element.elementor-element-eb57f70 .elementor-heading-title{font-size:32px;}.elementor-1434 .elementor-element.elementor-element-f719d2b{--padding-top:50px;--padding-bottom:0px;--padding-left:16px;--padding-right:16px;}.elementor-1434 .elementor-element.elementor-element-779c018{text-align:center;}.elementor-1434 .elementor-element.elementor-element-779c018 .elementor-heading-title{font-size:22px;}.elementor-1434 .elementor-element.elementor-element-9926923{--grid-columns:1;--grid-row-gap:40px;}.elementor-1434 .elementor-element.elementor-element-9926923 > .elementor-widget-container{margin:0px 0px 0px 0px;}}/* Start custom CSS for shortcode, class: .elementor-element-a7523c5 *//* ═══════════════════════════════════════════════════
   Vertical Coverflow Carousel  v1.0.3
   /child-theme/assets/vc-carousel.css
   ═══════════════════════════════════════════════════ */

/* ── Wrapper ── */
.vc-section {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 32px;
    width: 100%;
    max-width: 1280px;
    margin: 0 auto;
    position: relative;
    box-sizing: border-box;
    justify-content: space-between;
}

/* ── Decorative squiggles ── */
.vc-squiggle {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 16px;
    height: 300px;
    pointer-events: none;
    opacity: 0.4;
}
.vc-squiggle--left  { left: 6px; }
.vc-squiggle--right { right: 6px; }

/* ════════════════════════════════
   LEFT — Content column
   ════════════════════════════════ */
.vc-content-col {
    flex: 0 0 360px;
    position: relative;
    /* height driven by tallest slide — we use a min so it never collapses */
    min-height: 275px;
}

/* All slides stacked; inactive ones are invisible but keep their space
   via the min-height on the parent — this avoids Elementor conflicts
   because we never touch display/visibility on children */

/* ── REPLACE your .vc-slide-content block ── */
.vc-slide-content {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    opacity: 0;
    pointer-events: none;
    transform: translateY(10px);
    transition: opacity 0.4s ease, transform 0.4s ease;

    /* Fixed total height = 4 lines title + 5 lines excerpt + button + gaps
       Title:   24px × 1.5 × 4 lines = 144px
       Gap:     16px
       Excerpt: 20px × 1.3 × 5 lines = 130px
       Gap:     24px
       Button:  ~46px
       Total:   ~360px — matches your existing min-height */
    /*height: 350px;*/
    /*min-height: 350px;*/

    display: grid;
    grid-template-rows: auto 1fr auto;
    /* row 1 (auto)  → title: grows as needed, pushes row 2 down */
    /* row 2 (1fr)   → excerpt: gets exactly the leftover height */
    /* row 3 (auto)  → read more button */
    gap: 0;
    align-items: start;
    justify-items: start;
}

.vc-slide-content.vc-active {
    opacity: 1;
    pointer-events: auto;
    transform: translateY(0);
}


/* ── Typography ── */
.vc-title {
    color: #000 !important;
    /* Keep your existing font styles — just fix margin */
    margin: 0 0 16px;
    font-family: Montserrat;
    font-weight: 600;
    font-size: 24px;
    line-height: 150%;
    letter-spacing: 0%;
    /* No line-clamp — title is always fully visible */
}

.vc-title a {
    color: #000;
    text-decoration: none;
}



.vc-excerpt {
    color: #555;
    font-family: Montserrat;
    font-weight: 400;
    font-size: 20px;
    line-height: 130%;
    letter-spacing: 0%;
    display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
  word-break: break-word;
}

.vc-read-more {
    display: inline-flex;
    align-items: center;
    gap: 14px;
    color: #111;
    padding: 12px 20px 10px 20px;
    transition: background 0.2s, color 0.2s;
    font-weight: 500;
    font-size: 16px;
    line-height: 24px;
    letter-spacing: 0%;
    text-transform: uppercase;
    background: #F4F4F4;
    font-family: 'Inter' !important;
    margin-top: 20px;
}

.hover-effect:hover .vc-read-more{
    background: #FFFA9C !important;
    color: #000 !important;
}

/* ════════════════════════════════
   MIDDLE — Desktop nav
   ════════════════════════════════ */
.vc-nav-desktop {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 22px;
    flex-shrink: 0;
    transform: translateX(60px);
    z-index: 10;
}

.vc-nav-desktop button,
.vc-nav-mobile button {
    width: 33.3px;
    height: 33.3px;
    border: none;
    background: transparent;
    cursor: pointer;
    padding: 0;
    color: #111;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: opacity 0.5s;
    rotate: 90deg;
}

.vc-nav-desktop button:hover circle, .vc-nav-mobile button:hover circle {
    fill: #ffd2fd;
}

.vc-nav-desktop button svg,
.vc-nav-mobile button svg {
    width: 40px;
    height: 40px;
    display: block;
}

/* ════════════════════════════════
   RIGHT — Coverflow image column
   ════════════════════════════════ */
.vc-image-col {
    /* No flex:1 — that collapses the column when flex layout miscalculates */
    width: 65%;
    position: relative;
    height: 530px;
    overflow: visible;
    /* No mask — removing the fade effect on prev/next cards */
    margin-right: -35px;
}

/* All cards are absolutely centred in this column */
.vc-coverflow {
    position: relative;
    width: 100%;
    height: 100%;
}

.vc-card {
    position: absolute;
    left: 50%;
    top: 50%;
    width: 92%;
    border-radius: 16px;
    overflow: hidden;
    cursor: pointer;
    /* Default: invisible, off-position */
    opacity: 0;
    pointer-events: none;
    z-index: 0;
    transform: translate(-50%, -50%) scale(0.6);
    transition:
        transform  0.5s cubic-bezier(0.4, 0, 0.2, 1),
        opacity    0.5s ease,
        box-shadow 0.5s ease;
    will-change: transform, opacity;
}

.vc-card img {
    width: 100%;
    height: 419px;
    object-fit: cover;
    display: block;
    border-radius: 20px;
}

/* Active — full size, centre */
.vc-card[data-pos="active"] {
    transform: translate(-50%, -50%) scale(1);
    opacity: 1;
    pointer-events: auto;
    z-index: 3;
    border: 10px solid #fff;
}

/* Prev — above, scaled to 78%, peek ~130px above centre */
/* At scale 0.78: card height ≈ 209px, half = 105px.
   Active half ≈ 134px. Gap 10px. Offset = -(134+105+10) = -249 → ~240px */
.vc-card[data-pos="prev"] {
    transform: translate(-50%, calc(-50% - 140px)) scale(0.78);
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

/* Next — below, same math */
.vc-card[data-pos="next"] {
    transform: translate(-50%, calc(-50% + 140px)) scale(0.78);
    opacity: 1;
    pointer-events: auto;
    z-index: 2;
}

/* ════════════════════════════════
   MOBILE NAV (hidden on desktop)
   ════════════════════════════════ */
.vc-nav-mobile { display: none; }

/* ════════════════════════════════
   RESPONSIVE — tablet
   ════════════════════════════════ */
@media (max-width: 1024px) {
    .vc-content-col { flex: 0 0 300px; }
}

@media (max-width: 1024px) {
.vc-nav-desktop {
    transform: translateX(30px);
}
}
/* ════════════════════════════════
   RESPONSIVE — mobile ≤ 768px
   ════════════════════════════════ */
@media (max-width: 768px) {
    .vc-section {
        flex-direction: column;
        padding: 25px 0px 0;
        gap: 0;
    }

    .vc-squiggle { display: none; }

    /* 1 — Content on top */
    .vc-content-col {
        flex: none;
        width: 100%;
        min-height: unset;
        position: relative;
        /* Use padding-bottom to prevent absolute children from
           overlapping what's below */
        padding-bottom: 40px;
        order: 1;
    }

    /* On mobile: stack with a known height so they don't collapse */
    .vc-slide-content {
        position: relative;
        display: none;
        /* Mobile fixed height — slightly smaller */
        height: 250px;
        min-height: 250px;
        grid-template-rows: auto 1fr auto;
        opacity: 1;
        transform: none;
        pointer-events: auto;
    }

    .vc-slide-content.vc-active {
        display: grid; /* must be grid not block so 1fr still works */
        opacity: 1;
        transform: none;
    }

    .vc-nav-desktop { display: none; }

    /* 2 — Images below content */
    .vc-image-col {
        width: 100%;
        order: 2;
        height: 346px;
        overflow: visible;
        /* No mask on mobile either */
        margin-right: 0 !important;
    }

    .vc-card[data-pos="prev"] {
        transform: translate(-50%, calc(-50% - 110px)) scale(0.85);
    }
    .vc-card[data-pos="next"] {
        transform: translate(-50%, calc(-50% + 110px)) scale(0.85);
    }

    /* 3 — Nav below images */
    .vc-nav-mobile {
        display: flex;
        justify-content: center;
        gap: 22px;
        padding: 40px 0 0px;
        order: 3;
        width: 100%;
    }
    .vc-card[data-pos="active"] {
        border: 5px solid #fff;
    }
    .vc-card {
        width: 100%;
    }
    .vc-card img {
        height: 175px;
    }
    
    .vc-title {
        font-size: 22px;
    }
    .vc-excerpt {
          font-size: 18px;
        min-height: calc(18px * 1.3 * 2); /* 2 line min on mobile */
        margin: 0 0 24px;
    }
    .vc-nav-desktop button, .vc-nav-mobile button {
        rotate: 0deg;
    }
}

/* ── Fallback ── */
.vc-no-posts {
    text-align: center;
    color: #999;
    padding: 40px;
}/* End custom CSS */