.cf-widget-container-f04d8295 {
    position: relative;
    width: 100%;
    overflow: hidden;
    padding: 40px 0;
    font-family: sans-serif;
}

/* ── Stage ─────────────────────────────────────────────────────────────── */
.cf-stage {
    position: relative;
    height: 420px;
    perspective: 1400px;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* ── Slide base ─────────────────────────────────────────────────────────── */
.cf-slide {
    position: absolute;
    overflow: hidden;
    cursor: pointer;
    opacity: 0;
    pointer-events: none;
    will-change: transform, opacity;
    user-select: none;
}
.cf-slide img {
    width: 100%;
    height: 100%;
    display: block;
    user-select: none;
    pointer-events: none;
}

/* ── Active (centre) ────────────────────────────────────────────────────── */
.cf-slide.cf-pos-0 {
    transform: translateX(0) translateZ(0) rotateY(0deg) scale(1);
    opacity: 1;
    z-index: 10;
    pointer-events: auto;
}

/* ── Side positions ─────────────────────────────────────────────────────── */
.cf-slide.cf-side {
    transform: translateX(var(--cf-tx, 0)) translateZ(var(--cf-tz, 0)) rotateY(var(--cf-ry, 0deg)) scale(var(--cf-sc, 0.85));
    opacity: var(--cf-op, 0.7);
    z-index: var(--cf-zi, 1);
    pointer-events: auto;
}

/* ── Hidden ────────────────────────────────────────────────────────────── */
.cf-slide.cf-hidden {
    transform: translateX(var(--cf-tx, 0)) translateZ(-600px) rotateY(var(--cf-ry, 0deg)) scale(0.6);
    opacity: 0;
    z-index: 0;
    pointer-events: none;
}

/* ── Hover / Tap Overlay ────────────────────────────────────────────────── */
.cf-slide-overlay {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0,0,0,0.65);
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 20px;
    box-sizing: border-box;
    opacity: 0;
    pointer-events: none;
    transition: opacity 350ms ease;
    z-index: 2;
}

.cf-overlay-content {
    width: 100%;
    max-width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
}

.cf-slide-link {
    display: block;
    width: 100%;
    height: 100%;
    text-decoration: none;
    color: inherit;
}

/* Only the active slide responds to hover / tap overlays */
@media (hover: hover) {
    .cf-slide.cf-pos-0:hover .cf-slide-overlay {
        opacity: 0.65; /* dynamic override fallback */
        pointer-events: auto;
    }
}

/* Active class applied on click/tap toggle for mobile */
.cf-slide.cf-pos-0.cf-overlay-open .cf-slide-overlay {
    opacity: 0.65; /* dynamic override fallback */
    pointer-events: auto;
}

/* Overlay Typography */
.cf-title {
    margin: 0 0 8px;
    font-size: 20px;
    font-weight: 700;
    width: 100%;
}
.cf-date {
    font-size: 14px;
    font-weight: 600;
    margin-bottom: 12px;
    width: 100%;
}
.cf-desc {
    margin: 0;
    font-size: 13px;
    line-height: 1.5;
    width: 100%;
}

/* CTA Button Styling */
.cf-cta-btn {
    display: inline-block;
    transition: all 0.25s ease-in-out;
    text-align: center;
    text-decoration: none;
    border: none;
    cursor: pointer;
    box-sizing: border-box;
    line-height: 1.2;
}

/* ── Navigation Arrows ──────────────────────────────────────────────────── */
.cf-nav-btn {
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    background: #ffffff;
    border: none;
    cursor: pointer;
    box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    display: flex;
    align-items: center;
    justify-content: center;
    transition: background 0.25s, transform 0.2s, opacity 0.2s;
    z-index: 20;
    padding: 0;
}
.cf-nav-btn svg {
    display: block;
    transition: fill 0.2s;
}
.cf-nav-btn:hover {
    transform: translateY(-50%) scale(1.08);
}
.cf-nav-btn.cf-shape-circle {
    border-radius: 50%;
}
.cf-nav-btn.cf-shape-square {
    border-radius: 4px;
}
.cf-nav-btn.cf-shape-none {
    background: transparent !important;
    box-shadow: none !important;
}

.cf-prev {
    left: 15px;
}
.cf-next {
    right: 15px;
}

.cf-hide-arrows .cf-nav-btn {
    display: none !important;
}
