/* ProBS Event Slider — local, scoped styling. Loop template design stays in Elementor. */
.probs-event-carousel {
    --probs-carousel-columns:3; --probs-carousel-gap:24px; --probs-carousel-nav-gap:20px;
    --probs-carousel-arrow-size:44px; --probs-carousel-dot-size:9px;
    --probs-carousel-dot:#e5d9d4; --probs-carousel-dot-active:#ae4545;
    --probs-carousel-arrow-offset:12px;
    position:relative; isolation:isolate; display:flex; flex-direction:column; width:100%; min-width:0;
}
.probs-event-carousel *, .probs-event-carousel *::before, .probs-event-carousel *::after { box-sizing:border-box; }
.probs-event-carousel [hidden] { display:none !important; }
.probs-event-carousel__viewport { position:relative; min-width:0; align-self:stretch; }
.probs-event-carousel__track {
    position:relative;
    display:flex; gap:var(--probs-carousel-gap); overflow-x:auto; min-width:0;
    width:100%; scroll-snap-type:x mandatory; overscroll-behavior-inline:contain;
    align-items:flex-start; padding:4px 0 10px; scrollbar-width:thin;
}
.probs-event-carousel.is-enhanced .probs-event-carousel__track { scrollbar-width:none; }
.probs-event-carousel.is-enhanced .probs-event-carousel__track::-webkit-scrollbar { display:none; }
.probs-event-carousel__slide {
    flex:0 0 calc((100% - (var(--probs-carousel-columns) - 1) * var(--probs-carousel-gap)) / var(--probs-carousel-columns));
    min-width:0; display:flex; flex-direction:column; scroll-snap-align:start;
}
.probs-event-carousel__slide > .elementor, .probs-event-carousel__slide > .e-loop-item { width:100%; min-width:0; }
.probs-event-carousel__slide > .elementor > .e-con { width:100%; }
.probs-event-carousel__controls { display:flex; justify-content:center; align-items:center; flex-wrap:wrap; gap:14px; margin-top:var(--probs-carousel-nav-gap); }
.probs-event-carousel.is-enhanced .probs-event-carousel__controls { display:flex; }
.probs-event-carousel--nav-above .probs-event-carousel__controls { order:-1; margin-top:0; margin-bottom:var(--probs-carousel-nav-gap); }
.probs-event-carousel__arrows { display:flex; gap:8px; }
.probs-event-carousel__arrows button, .probs-event-carousel__play {
    font:inherit; color:#9b3939; border:1px solid #decac6; background:#fffdfc;
    border-radius:999px; display:inline-flex; align-items:center; justify-content:center;
    padding:0; cursor:pointer; transition:color .2s, background-color .2s;
}
.probs-event-carousel__arrows button { width:var(--probs-carousel-arrow-size); height:var(--probs-carousel-arrow-size); flex:0 0 auto; font-size:22px; }
.probs-event-carousel__arrows button:hover, .probs-event-carousel__play:hover { background:#f6e8e8; }
.probs-event-carousel__arrows button:disabled { opacity:.35; cursor:default; }
.probs-event-carousel__play { min-height:40px; padding:6px 14px; font-size:13px; }
.probs-event-carousel__dots { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:0; }
.probs-event-carousel__dots button { display:inline-flex; align-items:center; justify-content:center; width:30px; height:32px; border:0; background:transparent; padding:0; cursor:pointer; box-shadow:none; }
.probs-event-carousel__dots button::before { content:""; display:block; width:var(--probs-carousel-dot-size); height:var(--probs-carousel-dot-size); border-radius:50%; background:var(--probs-carousel-dot); }
.probs-event-carousel__dots button[aria-current="true"]::before { background:var(--probs-carousel-dot-active); }
.probs-event-carousel button:focus-visible, .probs-event-carousel__track:focus-visible { outline:2px solid #ae4545; outline-offset:3px; }
.probs-event-carousel__sr { position:absolute; width:1px; height:1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; }
.probs-carousel-card { display:flex; flex-direction:column; height:auto; border:1px solid #e8ddd7; border-radius:22px; background:#fffdfc; overflow:hidden; color:#171a22; }
.probs-carousel-card__image { display:block; }
.probs-carousel-card__image img { display:block; width:100%; height:200px; object-fit:cover; }
.probs-carousel-card__body { display:flex; flex:1; flex-direction:column; padding:24px; gap:20px; }
.probs-carousel-card__head { display:flex; gap:14px; align-items:center; min-width:0; }
.probs-carousel-card__heading { min-width:0; }
.probs-carousel-card__date { background:#f7e9e9; color:#ae4545; width:82px; min-height:96px; flex:0 0 82px; border-radius:16px; padding:12px 6px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px; text-align:center; }
.probs-carousel-card__date strong { font-size:28px; line-height:1.2; }
.probs-carousel-card__date span { font-size:14px; }
.probs-carousel-card__meta { font-size:11px; text-transform:uppercase; letter-spacing:.06em; line-height:1.5; color:#ae4545; font-weight:700; margin-bottom:7px; overflow-wrap:anywhere; }
.probs-carousel-card h3 { font-size:22px; line-height:1.3; margin:0; color:#171a22; overflow-wrap:anywhere; }
.probs-carousel-card h3 a { color:inherit; font:inherit; text-decoration:none; }
.probs-carousel-card__excerpt { margin:0; font-size:16px; line-height:1.6; color:#626873; }
.probs-carousel-card__button { display:inline-flex; align-self:flex-start; align-items:center; border:1px solid currentColor; border-radius:999px; padding:8px 17px; color:#ae4545; text-decoration:none; margin-top:auto; }
.probs-carousel-card__button:hover { color:#873838; }
.probs-carousel-empty { padding:18px 20px; border:1px solid #e8ddd7; border-radius:16px; color:#626873; background:#faf5f2; line-height:1.5; }
@media(max-width:1024px) { .probs-event-carousel { --probs-carousel-columns:2; } }
@media(max-width:767px) { .probs-event-carousel { --probs-carousel-columns:1; } .probs-carousel-card__body { padding:20px; } }
@media(prefers-reduced-motion:reduce) { .probs-event-carousel * { scroll-behavior:auto !important; } }
@media(max-width:380px) {
    .probs-carousel-card__head { gap:12px; }
    .probs-carousel-card__date { width:68px; flex-basis:68px; }
    .probs-carousel-card__date strong { font-size:26px; }
    .probs-carousel-card__date span { font-size:12px; }
    .probs-carousel-card h3 { font-size:20px; hyphens:auto; }
}

/* Equal heights: stretch only the card shell, never every nested Elementor container. */
.probs-event-carousel--equal-height .probs-event-carousel__track { align-items:stretch; }
.probs-event-carousel--equal-height .probs-event-carousel__slide > .probs-carousel-card { flex:1 1 auto; }
.probs-event-carousel--equal-height .probs-event-carousel__slide > .elementor,
.probs-event-carousel--equal-height .probs-event-carousel__slide > .e-loop-item,
.probs-event-carousel--equal-height .probs-event-carousel__slide > .e-loop-item > .elementor {
    display:flex; flex-direction:column; flex:1 1 auto; min-width:0;
}
.probs-event-carousel--equal-height .probs-event-carousel__slide > .elementor > .e-con,
.probs-event-carousel--equal-height .probs-event-carousel__slide > .elementor > .elementor-section,
.probs-event-carousel--equal-height .probs-event-carousel__slide > .e-loop-item > .e-con,
.probs-event-carousel--equal-height .probs-event-carousel__slide > .e-loop-item > .elementor > .e-con {
    flex-grow:1; width:100%; min-height:0;
}
/* Optional class on the one outer visual card for unusual/legacy Loop Item markup. */
.probs-event-carousel--equal-height .probs-event-carousel__slide .probs-carousel-card-root { flex-grow:1; height:100%; }

/* Overlay arrows are siblings of the scroll track, not clipped by it. Outside
   reserves space inside the widget: no negative margins and no page overflow. */
.probs-event-carousel--has-arrows[data-arrow-position="outside"] .probs-event-carousel__viewport {
    margin-inline:calc(var(--probs-carousel-arrow-size) + var(--probs-carousel-arrow-offset));
}
.probs-event-carousel[data-arrow-position="inside"] .probs-event-carousel__arrows,
.probs-event-carousel[data-arrow-position="outside"] .probs-event-carousel__arrows {
    position:absolute; top:var(--probs-carousel-arrow-y, 50%); transform:translateY(-50%);
    inset-inline:0; display:flex; justify-content:space-between; z-index:5; pointer-events:none;
}
.probs-event-carousel[data-arrow-position="inside"] .probs-event-carousel__arrows {
    inset-inline:var(--probs-carousel-arrow-offset);
}
.probs-event-carousel[data-arrow-position="inside"] .probs-event-carousel__arrows button,
.probs-event-carousel[data-arrow-position="outside"] .probs-event-carousel__arrows button { pointer-events:auto; }
.probs-event-carousel .probs-event-carousel__controls--overlay-only { margin:0; height:0; gap:0; padding:0; }
.probs-event-carousel .probs-event-carousel__arrows > button {
    appearance:none; min-width:0; min-height:0; padding:0; line-height:1; font-size:22px;
}
.probs-event-carousel .probs-event-carousel__arrows > button > svg {
    display:block; width:1em; height:1em; flex:none; fill:none; pointer-events:none;
}
.probs-event-carousel .probs-event-carousel__arrows > button:hover,
.probs-event-carousel .probs-event-carousel__arrows > button:focus { font-size:22px; line-height:1; }
.probs-event-carousel .probs-event-carousel__dots > button {
    appearance:none; min-width:30px; min-height:32px; line-height:1; flex:0 0 auto;
}
.probs-event-carousel .probs-event-carousel__dots > button:disabled { opacity:1; cursor:default; }

/* 1.9.0: explicit arrow surfaces/states; disabled is not a global widget opacity. */
.probs-event-carousel .probs-event-carousel__arrows > button {
    border:0 none transparent; box-shadow:none; background-image:none; filter:none;
    opacity:var(--probs-carousel-arrow-opacity,1);
}
.probs-event-carousel .probs-event-carousel__arrows > button:is(:hover,:focus-visible):not(:disabled) {
    opacity:var(--probs-carousel-arrow-hover-opacity,1);
}
.probs-event-carousel .probs-event-carousel__arrows > button:disabled {
    opacity:var(--probs-carousel-arrow-disabled-opacity,.45); cursor:default;
}
