/* CC Charity — Event Booking Upcoming Events timeline v6 */
#eb-upcoming-events-page-timeline.cc-events{
  --cc-ink:#082d2b;
  --cc-text:#24322d;
  --cc-muted:#69766f;
  --cc-line:#e4e9e6;
  --cc-soft:#f7f9f7;
  --cc-card:#fff;
  --cc-lime:var(--cc-events-accent,#A6E319);
  --cc-hero:var(--cc-events-hero,#052E2B);
  width:100%!important;max-width:none!important;margin:0!important;padding:0 0 110px!important;
  background:#fff;color:var(--cc-text);font:400 14px/1.65 Inter,-apple-system,BlinkMacSystemFont,"Segoe UI",Arial,sans-serif;
  overflow:clip;
}
.cc-events,.cc-events *,.cc-events *::before,.cc-events *::after{box-sizing:border-box}
.cc-events a{text-decoration:none}
.cc-events .cc-events__shell{width:min(1400px,calc(100% - 64px));margin:0 auto;padding:0}

/* =========================================================
   PAGE / T3 WIDTH FIXES
   Joomla puts page classes on <html>, not <body> on this site.
   ========================================================= */
html.com_eventbooking.view-upcomingevents body{background:#fff!important}
html.com_eventbooking.view-upcomingevents body #t3-mainbody{
  width:100%!important;max-width:none!important;margin:0!important;padding:0!important;
}
html.com_eventbooking.view-upcomingevents body #t3-mainbody>.row{margin:0!important}
html.com_eventbooking.view-upcomingevents body #t3-content{
  width:100%!important;max-width:none!important;float:none!important;margin:0!important;padding:0!important;
}
html.com_eventbooking.view-upcomingevents body .t3-wrapper{overflow:visible!important}

/* =========================================================
   EXISTING JA CHARITY NAVBAR — FULL WIDTH / DARK
   No duplicate menu is added. We only restyle the real header.
   ========================================================= */
html.com_eventbooking.view-upcomingevents body .custom-premium-header{
  position:relative!important;z-index:1000!important;
  width:100%!important;max-width:none!important;
  min-height:88px!important;height:auto!important;
  margin:0!important;padding:0!important;
  background:#052e2b!important;background-image:none!important;
  color:#fff!important;border:0!important;box-shadow:none!important;
}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-header-container{
  width:100%!important;max-width:none!important;
  min-height:88px!important;height:88px!important;
  margin:0!important;padding:0 clamp(22px,4vw,72px)!important;
  display:grid!important;grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;gap:clamp(20px,3vw,52px)!important;
}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-logo-wrapper{justify-self:start!important}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-logo-wrapper a{opacity:1!important}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-logo-wrapper svg,
html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-logo-wrapper img{opacity:1!important;filter:none!important}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-header-nav{
  justify-self:center!important;display:flex!important;align-items:center!important;min-width:0!important;
}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .t3-navbar{
  background:transparent!important;border:0!important;margin:0!important;padding:0!important;min-height:0!important;
}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .t3-navbar .navbar-nav{
  display:flex!important;flex-direction:row!important;align-items:center!important;justify-content:center!important;
  flex-wrap:nowrap!important;gap:clamp(15px,1.8vw,30px)!important;margin:0!important;padding:0!important;
}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .t3-navbar .navbar-nav>li{
  display:block!important;float:none!important;margin:0!important;padding:0!important;
}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .t3-navbar .navbar-nav>li>a{
  display:inline-flex!important;align-items:center!important;gap:5px!important;
  padding:10px 0!important;background:transparent!important;border:0!important;
  color:#edf5f1!important;font:400 14px/1.4 Inter,Arial,sans-serif!important;
  text-transform:none!important;letter-spacing:0!important;white-space:nowrap!important;
}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .t3-navbar .navbar-nav>li>a:hover,
html.com_eventbooking.view-upcomingevents body .custom-premium-header .t3-navbar .navbar-nav>li>a:focus,
html.com_eventbooking.view-upcomingevents body .custom-premium-header .t3-navbar .navbar-nav>li.active>a,
html.com_eventbooking.view-upcomingevents body .custom-premium-header .t3-navbar .navbar-nav>li.current>a{
  color:var(--cc-lime)!important;background:transparent!important;
}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .nav .caret{
  border-top-color:currentColor!important;border-bottom-color:currentColor!important;
}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-header-actions{
  justify-self:end!important;display:flex!important;align-items:center!important;gap:18px!important;
}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-divider{background:rgba(255,255,255,.18)!important}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-icon-btn{color:#edf5f1!important}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-cta-btn{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  min-height:46px!important;padding:12px 28px!important;border:0!important;border-radius:999px!important;
  background:var(--cc-lime)!important;color:#10251d!important;
  font:700 14px/1.25 Inter,Arial,sans-serif!important;box-shadow:none!important;white-space:nowrap!important;
}
html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-cta-btn:hover{
  background:#b7ed2f!important;color:#10251d!important;transform:translateY(-1px)!important;
}

/* =========================================================
   FULL-BLEED HERO
   ========================================================= */
.cc-events .cc-events__hero-wrap{
  position:relative;width:100%;max-width:none;margin:0;
  background:var(--cc-hero);color:#fff;isolation:isolate;overflow:hidden;
}
.cc-events .cc-events__hero-wrap::before{
  content:"";position:absolute;inset:0;z-index:-2;
  background:
    radial-gradient(circle at 82% 36%,rgba(126,188,153,.22),transparent 28%),
    radial-gradient(circle at 93% 95%,rgba(96,160,128,.18),transparent 26%),
    linear-gradient(110deg,#052e2b 0%,#073831 55%,#0d4a40 100%);
}
.cc-events .cc-events__hero-wrap::after{
  content:"";position:absolute;right:-190px;top:-255px;width:600px;height:600px;border-radius:50%;
  border:1px solid rgba(255,255,255,.08);box-shadow:0 0 0 75px rgba(255,255,255,.018),0 0 0 155px rgba(255,255,255,.015);z-index:-1;
}
.cc-events .cc-events__hero-inner{
  position:relative;width:min(1400px,calc(100% - 64px));min-height:410px;margin:0 auto;padding:68px 0 74px;
  display:flex;align-items:center;
}
.cc-events .cc-events__hero-copy{position:relative;z-index:2;max-width:760px}
.cc-events .cc-events__breadcrumb{display:flex;align-items:center;gap:11px;margin:0 0 28px;color:#d9e7e0;font-size:13px}
.cc-events .cc-events__breadcrumb span:first-child{color:var(--cc-lime)}
.cc-events .cc-events__breadcrumb i{font-size:9px;opacity:.75}
.cc-events .cc-events__eyebrow,.cc-events .cc-events__kicker{
  margin:0 0 13px;color:var(--cc-lime);font-size:12px;font-weight:700;line-height:1.5;letter-spacing:.14em;text-transform:uppercase;
}
.cc-events .cc-events__eyebrow-dot{display:inline-block;width:7px;height:7px;margin:0 9px 1px 0;border-radius:50%;background:var(--cc-lime)}
.cc-events .cc-events__title{
  max-width:820px;margin:0 0 20px!important;padding:0!important;border:0!important;color:#fff!important;
  font-size:clamp(48px,6vw,82px)!important;font-weight:250!important;line-height:1.02!important;letter-spacing:-.055em!important;text-transform:none!important;
}
.cc-events .cc-events__subtitle{max-width:620px;margin:0 0 28px;color:#d8e6df;font-size:16px;line-height:1.75}
.cc-events .cc-events__hero-actions{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.cc-events .cc-events__hero-action{
  display:inline-flex;align-items:center;justify-content:center;gap:20px;min-height:48px;padding:12px 23px;border-radius:999px;
  background:var(--cc-lime);color:#10251d!important;font-size:14px;font-weight:700;transition:transform .18s ease,background .18s ease;
}
.cc-events .cc-events__hero-action:hover{background:#b7ed2f;transform:translateY(-1px)}
.cc-events .cc-events__hero-count{display:inline-flex;align-items:center;gap:7px;color:#dce9e3;font-size:13px}
.cc-events .cc-events__hero-count strong{color:var(--cc-lime);font-weight:700}
.cc-events .cc-events__ics{position:absolute;right:0;top:35px;z-index:3}
.cc-events .cc-events__hero-art{position:absolute;right:7%;bottom:-80px;width:330px;height:300px;opacity:.28;pointer-events:none}
.cc-events .cc-events__hero-art span{position:absolute;display:block;width:120px;height:250px;border:1px solid rgba(210,244,219,.23);border-radius:100% 10% 100% 10%}
.cc-events .cc-events__hero-art span:nth-child(1){right:150px;bottom:0;transform:rotate(-18deg)}
.cc-events .cc-events__hero-art span:nth-child(2){right:70px;bottom:25px;transform:rotate(24deg)}
.cc-events .cc-events__hero-art span:nth-child(3){right:0;bottom:-35px;transform:rotate(63deg)}

/* =========================================================
   CONTENT / FILTERS
   ========================================================= */
.cc-events .cc-events__intro{
  display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start;
  margin:42px 0 0;padding:22px 24px;border:1px solid var(--cc-line);border-radius:18px;background:#fff;color:#58665f;
}
.cc-events .cc-events__intro-mark{display:grid;place-items:center;width:42px;height:42px;border-radius:12px;background:#eef7e6;color:#416a52;font-size:17px}
.cc-events .cc-events__intro-copy>*:last-child{margin-bottom:0}
.cc-events .cc-events__filters{margin:32px 0 0;padding:18px 20px;border:1px solid var(--cc-line);border-radius:18px;background:#f8faf8}
.cc-events .cc-events__filters form{margin:0}
.cc-events .cc-events__filters input,.cc-events .cc-events__filters select{
  min-height:46px;border:1px solid #dbe2dd!important;border-radius:10px!important;background:#fff!important;color:#1c2e26!important;font-size:14px!important;padding:10px 12px!important;box-shadow:none!important;
}
.cc-events .cc-events__section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:56px 0 30px;scroll-margin-top:100px}
.cc-events .cc-events__kicker{margin-bottom:7px;color:#2e7b5c}
.cc-events .cc-events__section-title{margin:0;color:#10251d;font-size:clamp(32px,3.5vw,46px);font-weight:300;line-height:1.12;letter-spacing:-.045em;text-transform:none}
.cc-events .cc-events__period{color:var(--cc-lime)}
.cc-events .cc-events__count{flex:none;padding:7px 14px;border:1px solid var(--cc-line);border-radius:999px;background:#f6f8f6;color:#53645c;font-size:12px;font-weight:650}

/* =========================================================
   TIMELINE + EVENT CARDS
   JS enhancement wraps the native Event Booking markup, but all
   Event Booking links/actions/data remain untouched.
   ========================================================= */
.cc-events #eb-events.eb-events-timeline{
  position:relative;display:grid!important;gap:28px!important;margin:0!important;padding:0!important;border:0!important;background:transparent!important;
}
.cc-events #eb-events.eb-events-timeline::before{
  content:"";position:absolute;left:45px;top:46px;bottom:46px;width:1px;background:linear-gradient(#dbe4dd,#dbe4dd 85%,transparent);z-index:0;
}
.cc-events #eb-events .eb-event-container{
  position:relative!important;display:grid!important;grid-template-columns:92px minmax(0,1fr)!important;gap:26px!important;
  width:100%!important;min-width:0!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important;overflow:visible!important;
}
.cc-events #eb-events .eb-event-container::before,.cc-events #eb-events .eb-event-container::after{display:none!important}
.cc-events #eb-events .eb-event-date-container{
  position:relative!important;z-index:3!important;float:none!important;width:92px!important;margin:16px 0 0!important;padding:0!important;align-self:start!important;
}
.cc-events #eb-events .eb-event-date{
  position:relative!important;display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;
  width:90px!important;min-height:98px!important;margin:0!important;padding:11px 8px!important;border:1px solid #dbe5d8!important;border-radius:18px!important;
  background:#f2f7eb!important;color:#153a2d!important;text-align:center!important;box-shadow:0 8px 22px rgba(23,64,42,.045)!important;
}
.cc-events #eb-events .eb-event-date::after{
  content:"";position:absolute;right:-31px;top:40px;width:11px;height:11px;border:3px solid #fff;border-radius:50%;background:var(--cc-lime);box-shadow:0 0 0 1px #cfdad2;
}
.cc-events #eb-events .eb-event-date-day{display:block!important;color:#143d2e!important;font-size:32px!important;line-height:1!important;font-weight:550!important;letter-spacing:-.045em!important}
.cc-events #eb-events .eb-event-date-month{display:block!important;margin-top:6px!important;color:#3d7257!important;font-size:11px!important;line-height:1.2!important;font-weight:750!important;letter-spacing:.1em!important;text-transform:uppercase!important}
.cc-events #eb-events .eb-event-date-year{display:block!important;margin-top:3px!important;color:#718078!important;font-size:11px!important;line-height:1.2!important;font-weight:500!important}

.cc-events #eb-events .cc-event-card__surface{
  min-width:0;display:grid;grid-template-columns:minmax(270px,34%) minmax(0,1fr);overflow:hidden;
  border:1px solid var(--cc-line);border-radius:24px;background:#fff;box-shadow:0 12px 36px rgba(10,43,29,.055);
  transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;
}
.cc-events #eb-events .eb-event-container:hover .cc-event-card__surface{transform:translateY(-2px);border-color:#cfdbd3;box-shadow:0 22px 52px rgba(10,43,29,.09)}
.cc-events #eb-events .cc-event-card__media{
  position:relative;min-height:310px;overflow:hidden;background:linear-gradient(145deg,#0a3d35,#0f5849);
}
.cc-events #eb-events .cc-event-card__media>a{display:block;width:100%;height:100%}
.cc-events #eb-events .cc-event-card__media img{
  display:block!important;width:100%!important;height:100%!important;min-height:310px!important;max-width:none!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;object-fit:cover!important;object-position:center!important;box-shadow:none!important;
}
.cc-events #eb-events .cc-event-card__placeholder{
  position:absolute;inset:0;display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-end;padding:28px;color:#fff;
  background:
    radial-gradient(circle at 76% 22%,rgba(166,227,25,.25),transparent 27%),
    linear-gradient(145deg,#082f2b,#0c5547);
}
.cc-events #eb-events .cc-event-card__placeholder::before{
  content:"";position:absolute;right:-48px;top:-50px;width:180px;height:180px;border-radius:50%;border:1px solid rgba(255,255,255,.12);box-shadow:0 0 0 35px rgba(255,255,255,.025),0 0 0 70px rgba(255,255,255,.02);
}
.cc-events #eb-events .cc-event-card__placeholder i{position:relative;z-index:1;margin-bottom:14px;color:var(--cc-lime);font-size:30px}
.cc-events #eb-events .cc-event-card__placeholder span{position:relative;z-index:1;color:#dcebe4;font-size:13px;font-weight:600;letter-spacing:.04em;text-transform:uppercase}
.cc-events #eb-events .cc-event-card__content{
  min-width:0;display:flex;flex-direction:column;justify-content:center;padding:31px 34px 29px;
}

/* Native Event Booking content inside enhanced content panel */
.cc-events #eb-events .eb-event-title-container{
  float:none!important;width:auto!important;margin:0 0 12px!important;padding:0!important;color:var(--cc-ink)!important;
  font-size:clamp(24px,2.35vw,32px)!important;line-height:1.18!important;font-weight:500!important;letter-spacing:-.038em!important;text-transform:none!important;
}
.cc-events #eb-events .eb-event-title{color:var(--cc-ink)!important;font:inherit!important;text-transform:none!important}
.cc-events #eb-events .eb-event-title:hover{color:#176a51!important}
.cc-events #eb-events .eb-event-information{
  display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px 16px!important;float:none!important;width:auto!important;
  margin:0 0 15px!important;padding:0!important;color:#5d6b65!important;font-size:13px!important;line-height:1.55!important;
}
.cc-events #eb-events .eb-event-information .row{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:8px 16px!important;width:100%!important;margin:0!important}
.cc-events #eb-events .eb-event-information [class*="col-"]{float:none!important;width:auto!important;min-height:0!important;margin:0!important;padding:0!important}
.cc-events #eb-events .eb-event-information .col-md-8{flex:1 1 260px!important}
.cc-events #eb-events .eb-event-information i{width:17px!important;margin-right:6px!important;color:#338266!important;text-align:center!important}
.cc-events #eb-events .eb-event-date-info,.cc-events #eb-events .eb-event-location-info{margin:0 0 4px!important;color:#5a6962!important;font-size:13px!important;line-height:1.55!important}
.cc-events #eb-events .eb-event-location-info a{color:#226c55!important}
.cc-events #eb-events .eb-event-price-container{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:31px!important;margin:0!important;padding:6px 12px!important;
  border:1px solid #d8e9ce!important;border-radius:999px!important;background:#eff7e7!important;color:#31583f!important;font-size:12px!important;font-weight:700!important;box-shadow:none!important;
}
.cc-events #eb-events .eb-description-details{
  float:none!important;width:auto!important;min-width:0!important;margin:0 0 20px!important;padding:0!important;color:#68756f!important;font-size:14px!important;line-height:1.72!important;overflow:visible!important;
}
.cc-events #eb-events .eb-description-details::before,.cc-events #eb-events .eb-description-details::after{display:none!important}
.cc-events #eb-events .eb-description-details p{margin:0 0 12px!important;color:inherit!important;font:inherit!important}
.cc-events #eb-events .eb-description-details p:last-child{margin-bottom:0!important}
.cc-events #eb-events .eb-description-details img{display:none!important}
.cc-events #eb-events .eb-taskbar{float:none!important;clear:both!important;width:auto!important;margin:auto 0 0!important;padding:0!important}
.cc-events #eb-events .eb-taskbar ul{display:flex!important;align-items:center!important;flex-wrap:wrap!important;gap:9px!important;margin:0!important;padding:0!important;list-style:none!important}
.cc-events #eb-events .eb-taskbar li{display:block!important;float:none!important;margin:0!important;padding:0!important;list-style:none!important}
.cc-events #eb-events .eb-taskbar a.btn,.cc-events #eb-events .eb-taskbar .eb-register-button{
  display:inline-flex!important;align-items:center!important;justify-content:center!important;min-height:43px!important;padding:10px 17px!important;
  border:1px solid #d5dfd7!important;border-radius:999px!important;background:#fff!important;color:#173f33!important;
  font:650 13px/1.35 Inter,Arial,sans-serif!important;text-transform:none!important;letter-spacing:0!important;box-shadow:none!important;
  transition:transform .18s ease,background .18s ease,border-color .18s ease!important;
}
.cc-events #eb-events .eb-taskbar a.btn:hover{background:#f4f7f4!important;border-color:#c5d2c8!important;color:#173f33!important;transform:translateY(-1px)!important}
.cc-events #eb-events .eb-taskbar .eb-individual-registration-button,
.cc-events #eb-events .eb-taskbar .eb-register-button:first-child{
  background:var(--cc-lime)!important;border-color:var(--cc-lime)!important;color:#102b22!important;
}
.cc-events #eb-events .eb-taskbar .eb-individual-registration-button:hover{background:#b7ed2f!important;border-color:#b7ed2f!important;color:#102b22!important}
.cc-events #eb-events .eb-taskbar strong{font-weight:inherit!important}

/* Fallback before/without JS enhancement */
.cc-events #eb-events .eb-event-container:not(.cc-event-card--ready){padding:28px 30px 28px 122px!important;border:1px solid var(--cc-line)!important;border-radius:22px!important;background:#fff!important;box-shadow:0 10px 32px rgba(10,43,29,.04)!important;display:block!important}
.cc-events #eb-events .eb-event-container:not(.cc-event-card--ready) .eb-event-date-container{position:absolute!important;left:18px!important;top:14px!important}
.cc-events #eb-events .eb-event-container:not(.cc-event-card--ready) .eb-description-details img{display:block!important;width:100%!important;height:320px!important;margin:15px 0!important;object-fit:cover!important;border-radius:16px!important}

/* Empty + pagination */
.cc-events .cc-events__empty{display:grid;justify-items:center;padding:72px 24px;border:1px dashed #d6dfd8;border-radius:22px;background:#fafbfa;text-align:center;color:#69766f}
.cc-events .cc-events__empty-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#eff6e7;color:#4c775e;font-size:23px}
.cc-events .cc-events__empty h3{margin:17px 0 7px;color:#153328;font-size:24px;line-height:1.25;font-weight:450}
.cc-events .cc-events__empty p{max-width:520px;margin:0;font-size:14px}
.cc-events .cc-events__pagination{display:flex;justify-content:center;margin:42px 0 0}
.cc-events .cc-events__pagination .pagination{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;flex-wrap:wrap!important;margin:0!important;padding:0!important;border:0!important;box-shadow:none!important;list-style:none!important}
.cc-events .cc-events__pagination .pagination li{float:none!important;margin:0!important}
.cc-events .cc-events__pagination .pagination a,.cc-events .cc-events__pagination .pagination span{display:inline-flex!important;align-items:center!important;justify-content:center!important;min-width:42px!important;min-height:42px!important;padding:7px 12px!important;border:1px solid #dde4df!important;border-radius:50%!important;background:#fff!important;color:#31433b!important;font-size:14px!important;font-weight:600!important;box-shadow:none!important;text-decoration:none!important}
.cc-events .cc-events__pagination .pagination .active a,.cc-events .cc-events__pagination .pagination .active span,.cc-events .cc-events__pagination .pagination [aria-current="page"]{background:var(--cc-lime)!important;border-color:var(--cc-lime)!important;color:#102b22!important}
.cc-events .cc-events__pagination .pagination a:hover{background:#f4f7f4!important}

/* =========================================================
   RESPONSIVE
   ========================================================= */
@media(max-width:1199px){
  html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-header-container{padding-inline:24px!important;gap:18px!important}
  html.com_eventbooking.view-upcomingevents body .custom-premium-header .t3-navbar .navbar-nav{gap:14px!important}
  html.com_eventbooking.view-upcomingevents body .custom-premium-header .t3-navbar .navbar-nav>li>a{font-size:13px!important}
  .cc-events #eb-events .cc-event-card__surface{grid-template-columns:minmax(230px,32%) minmax(0,1fr)}
  .cc-events #eb-events .cc-event-card__content{padding:27px 28px 25px}
}
@media(max-width:991px){
  .cc-events .cc-events__shell,.cc-events .cc-events__hero-inner{width:calc(100% - 40px)}
  .cc-events .cc-events__hero-inner{min-height:380px;padding:58px 0 64px}
  .cc-events .cc-events__hero-art{right:-100px;opacity:.22}
  .cc-events #eb-events .eb-event-container{grid-template-columns:82px minmax(0,1fr)!important;gap:20px!important}
  .cc-events #eb-events.eb-events-timeline::before{left:40px}
  .cc-events #eb-events .eb-event-date-container{width:82px!important}
  .cc-events #eb-events .eb-event-date{width:80px!important;min-height:88px!important}
  .cc-events #eb-events .eb-event-date::after{right:-26px;top:36px}
  .cc-events #eb-events .eb-event-date-day{font-size:27px!important}
  .cc-events #eb-events .cc-event-card__surface{grid-template-columns:1fr}
  .cc-events #eb-events .cc-event-card__media{min-height:250px;max-height:300px}
  .cc-events #eb-events .cc-event-card__media img{min-height:250px!important;height:300px!important}
}
@media(max-width:767px){
  #eb-upcoming-events-page-timeline.cc-events{padding-bottom:75px!important}
  html.com_eventbooking.view-upcomingevents body .custom-premium-header{min-height:78px!important}
  html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-header-container{height:78px!important;min-height:78px!important;padding-inline:15px!important}
  html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-header-nav:not(.mobile-active){display:none!important}
  html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-header-nav.mobile-active{display:block!important}
  .cc-events .cc-events__shell,.cc-events .cc-events__hero-inner{width:calc(100% - 30px)}
  .cc-events .cc-events__hero-inner{min-height:340px;padding:42px 0 50px}
  .cc-events .cc-events__breadcrumb{margin-bottom:22px}
  .cc-events .cc-events__title{font-size:clamp(42px,11vw,58px)!important}
  .cc-events .cc-events__subtitle{font-size:14px}
  .cc-events .cc-events__hero-art{display:none}
  .cc-events .cc-events__ics{position:static;margin-left:auto}
  .cc-events .cc-events__intro{grid-template-columns:1fr;margin-top:28px;padding:19px}
  .cc-events .cc-events__filters{margin-top:28px;padding:14px}
  .cc-events .cc-events__section-head{align-items:flex-start;margin:40px 0 23px}
  .cc-events .cc-events__section-title{font-size:30px}
  .cc-events #eb-events.eb-events-timeline{gap:20px!important}
  .cc-events #eb-events.eb-events-timeline::before{display:none}
  .cc-events #eb-events .eb-event-container{display:block!important}
  .cc-events #eb-events .eb-event-date-container{position:static!important;width:auto!important;margin:0 0 12px!important}
  .cc-events #eb-events .eb-event-date{display:inline-flex!important;flex-direction:row!important;width:auto!important;min-height:0!important;padding:8px 12px!important;border-radius:999px!important;gap:5px!important;box-shadow:none!important}
  .cc-events #eb-events .eb-event-date::after{display:none}
  .cc-events #eb-events .eb-event-date-day{font-size:17px!important}
  .cc-events #eb-events .eb-event-date-month,.cc-events #eb-events .eb-event-date-year{margin:0!important;font-size:11px!important}
  .cc-events #eb-events .cc-event-card__surface{border-radius:18px}
  .cc-events #eb-events .cc-event-card__media{min-height:220px;max-height:240px}
  .cc-events #eb-events .cc-event-card__media img{min-height:220px!important;height:240px!important}
  .cc-events #eb-events .cc-event-card__content{padding:22px 20px 21px}
  .cc-events #eb-events .eb-event-title-container{font-size:23px!important}
}
@media(max-width:480px){
  html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-cta-btn{padding:10px 17px!important;font-size:12px!important;min-height:40px!important}
  html.com_eventbooking.view-upcomingevents body .custom-premium-header .custom-header-actions{gap:12px!important}
  .cc-events .cc-events__hero-actions{align-items:flex-start;flex-direction:column}
  .cc-events .cc-events__section-head{display:grid;gap:12px}
  .cc-events .cc-events__count{justify-self:start}
  .cc-events #eb-events .eb-taskbar ul{display:grid!important;grid-template-columns:1fr 1fr!important;width:100%!important}
  .cc-events #eb-events .eb-taskbar li:last-child:nth-child(odd){grid-column:1/-1}
  .cc-events #eb-events .eb-taskbar a.btn,.cc-events #eb-events .eb-taskbar .eb-register-button{width:100%!important;padding:9px 10px!important;font-size:12px!important}
}
@media(prefers-reduced-motion:reduce){.cc-events *{transition:none!important;animation:none!important;scroll-behavior:auto!important}}

/* =========================================================
   v1.0.2 — hard fixes for JA Charity/T3 specificity
   ========================================================= */

/* The page-class is on <html> on this site. Force the real site header visible
   and dark even when JA Charity's inline compact-header CSS loads afterwards. */
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header,
html.com_eventbooking.view-upcomingevents body .custom-premium-header.my-overview-header,
body.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header {
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  position:relative!important;
  z-index:10000!important;
  width:100vw!important;
  max-width:none!important;
  height:auto!important;
  min-height:88px!important;
  margin:0!important;
  margin-left:calc(50% - 50vw)!important;
  padding:0!important;
  background:#052e2b!important;
  background-color:#052e2b!important;
  background-image:none!important;
  color:#fff!important;
  border:0!important;
  box-shadow:none!important;
  overflow:visible!important;
}
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-header-container,
html.com_eventbooking.view-upcomingevents body .custom-premium-header.my-overview-header .custom-header-container {
  display:grid!important;
  visibility:visible!important;
  width:100%!important;
  max-width:1440px!important;
  min-height:88px!important;
  height:88px!important;
  margin:0 auto!important;
  padding:0 clamp(20px,3.6vw,64px)!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  align-items:center!important;
  gap:clamp(20px,3vw,48px)!important;
  background:transparent!important;
}
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-logo-wrapper,
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-header-nav,
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-header-actions {
  visibility:visible!important;
  opacity:1!important;
}
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-logo-wrapper img,
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-logo-wrapper svg {
  opacity:1!important;
  visibility:visible!important;
}
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .t3-navbar .navbar-nav>li>a,
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-icon-btn {
  color:#f3f8f5!important;
}

/* Break the Event Booking component itself out of T3's .container. This makes
   #eb-upcoming-events-page-timeline genuinely viewport-wide while keeping its
   inner content constrained by .cc-events__shell / .cc-events__hero-inner. */
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events {
  position:relative!important;
  left:50%!important;
  right:50%!important;
  width:100vw!important;
  max-width:100vw!important;
  margin-left:-50vw!important;
  margin-right:-50vw!important;
  overflow-x:clip!important;
}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-wrap {
  width:100vw!important;
  max-width:100vw!important;
  margin:0!important;
}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__shell {
  width:min(1400px,calc(100% - 64px))!important;
  max-width:1400px!important;
  margin-inline:auto!important;
}

/* Event Booking's .bg-primary utility can make the price text white on the very
   pale badge. Force the label and every nested span to use readable dark green. */
.cc-events #eb-events .eb-event-price-container,
.cc-events #eb-events .eb-event-price-container.bg-primary,
.cc-events #eb-events .eb-event-price-container span,
.cc-events #eb-events .eb-event-price-container strong,
.cc-events #eb-events .eb-event-price-container a,
.cc-events #eb-events .eb-event-price-container .bg-primary,
.cc-events #eb-events .eb-event-price-container .bg-primary * {
  color:#28553f!important;
  -webkit-text-fill-color:#28553f!important;
  text-shadow:none!important;
  opacity:1!important;
  visibility:visible!important;
}
.cc-events #eb-events .eb-event-price-container.bg-primary,
.cc-events #eb-events .eb-event-price-container .bg-primary {
  background:#eef7e7!important;
  background-color:#eef7e7!important;
}

/* Remove Event Booking's legacy dotted separator under the action buttons. */
.cc-events #eb-events .eb-taskbar,
.cc-events #eb-events .eb-taskbar ul,
.cc-events #eb-events .eb-taskbar li,
.cc-events #eb-events .cc-event-card__content .eb-taskbar {
  border:0!important;
  border-top:0!important;
  border-right:0!important;
  border-bottom:0!important;
  border-left:0!important;
  outline:0!important;
  box-shadow:none!important;
  background-image:none!important;
}
.cc-events #eb-events .eb-taskbar::before,
.cc-events #eb-events .eb-taskbar::after,
.cc-events #eb-events .eb-taskbar ul::before,
.cc-events #eb-events .eb-taskbar ul::after {
  content:none!important;
  display:none!important;
  border:0!important;
}

@media(max-width:767px){
  html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header,
  html.com_eventbooking.view-upcomingevents body .custom-premium-header.my-overview-header {
    min-height:78px!important;
  }
  html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-header-container {
    min-height:78px!important;
    height:78px!important;
    padding-inline:15px!important;
  }
  html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__shell {
    width:calc(100% - 30px)!important;
  }
}


/* =========================================================
   v1.0.3 — SHOP HEADER PARITY + ZERO-GAP HERO
   ========================================================= */
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header,
html.com_eventbooking.view-upcomingevents body .custom-premium-header.my-overview-header{
  width:100%!important;max-width:none!important;height:86px!important;min-height:86px!important;
  margin:0!important;padding:0!important;background:#052e2b!important;background-image:none!important;
}
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-header-container,
html.com_eventbooking.view-upcomingevents body .custom-premium-header.my-overview-header .custom-header-container{
  width:100%!important;max-width:none!important;height:86px!important;min-height:86px!important;
  margin:0!important;padding:0 20px!important;display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;align-items:center!important;gap:28px!important;
}
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-logo-wrapper{justify-self:start!important}
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-header-nav{justify-self:center!important}
html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-header-actions{justify-self:end!important}
html.com_eventbooking.view-upcomingevents #t3-mainbody,
html.com_eventbooking.view-upcomingevents #t3-content{
  width:100%!important;max-width:none!important;margin-top:0!important;padding-top:0!important;
}
html.com_eventbooking.view-upcomingevents #t3-mainbody{padding-left:0!important;padding-right:0!important;margin-left:0!important;margin-right:0!important}
html.com_eventbooking.view-upcomingevents #t3-mainbody>.row{margin:0!important}
html.com_eventbooking.view-upcomingevents #t3-content{float:none!important;padding-left:0!important;padding-right:0!important}
html.com_eventbooking.view-upcomingevents #system-message-container{margin:0!important;padding:0!important;min-height:0!important}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events{margin-top:0!important;padding-top:0!important}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-wrap{margin-top:0!important}
@media(max-width:767px){
  html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header,
  html.com_eventbooking.view-upcomingevents body .custom-premium-header.my-overview-header{height:78px!important;min-height:78px!important}
  html.com_eventbooking.view-upcomingevents .custom-premium-header.my-overview-header .custom-header-container{height:78px!important;min-height:78px!important;padding-inline:15px!important;gap:12px!important}
}


/* =========================================================
   v1.0.4 — MOBILE NO-IMAGE CARD FIX
   ========================================================= */
@media(max-width:767px){
  /* On image-less events the desktop placeholder's decorative orb became a
     large empty oval on phones. Convert that media block into a compact label. */
  .cc-events #eb-events .cc-event-card__media:has(.cc-event-card__placeholder){
    min-height:0!important;
    max-height:none!important;
    height:auto!important;
    overflow:visible!important;
    background:transparent!important;
  }
  .cc-events #eb-events .cc-event-card__media:has(.cc-event-card__placeholder) .cc-event-card__placeholder{
    position:static!important;
    inset:auto!important;
    min-height:0!important;
    height:auto!important;
    padding:0 20px 10px!important;
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    justify-content:flex-start!important;
    gap:7px!important;
    background:transparent!important;
    color:#54645c!important;
  }
  .cc-events #eb-events .cc-event-card__media:has(.cc-event-card__placeholder) .cc-event-card__placeholder::before{
    content:none!important;
    display:none!important;
  }
  .cc-events #eb-events .cc-event-card__media:has(.cc-event-card__placeholder) .cc-event-card__placeholder i{
    margin:0!important;
    color:#2b7659!important;
    font-size:13px!important;
  }
  .cc-events #eb-events .cc-event-card__media:has(.cc-event-card__placeholder) .cc-event-card__placeholder span{
    color:#4f6258!important;
    font-size:12px!important;
    font-weight:650!important;
    letter-spacing:0!important;
    text-transform:none!important;
  }
  /* Keep the Event Booking price badge compact. Bootstrap/Event Booking can
     otherwise stretch its column to 100%, producing another pill-like oval. */
  .cc-events #eb-events .eb-event-information .col-md-4{
    width:auto!important;
    max-width:100%!important;
    flex:0 0 auto!important;
  }
  .cc-events #eb-events .eb-event-price-container,
  .cc-events #eb-events .eb-event-price-container.bg-primary{
    width:auto!important;
    max-width:max-content!important;
    min-width:0!important;
    min-height:30px!important;
    margin:2px 0 0!important;
    padding:5px 11px!important;
    border-radius:999px!important;
  }
  .cc-events #eb-events .eb-event-price-container::before,
  .cc-events #eb-events .eb-event-price-container::after{
    content:none!important;
    display:none!important;
  }
}

/* v1.0.25 compact timeline and filter/pagination improvements */
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-inner{min-height:0!important;padding:29px 0 33px!important;align-items:center!important}
.cc-events .cc-events__breadcrumb{margin-bottom:12px!important}
.cc-events .cc-events__eyebrow{margin-bottom:7px!important}
html.com_eventbooking.view-upcomingevents .cc-events .cc-events__title{font-size:clamp(32px,3.6vw,49px)!important;margin-bottom:9px!important;line-height:1.1!important}
.cc-events .cc-events__subtitle{font-size:14px!important;line-height:1.55!important;margin-bottom:14px!important;max-width:710px!important}
.cc-events .cc-events__hero-action{min-height:38px!important;padding:7px 17px!important}
.cc-events .cc-events__hero-art{display:none!important}
.cc-events .cc-events__hero-wrap::after{width:340px!important;height:340px!important;top:-185px!important;right:-85px!important}
.cc-events .cc-events__filters{margin:21px 0 0!important;padding:15px 18px!important;border-radius:14px!important;background:#fff!important}
.cc-events .cc-events__filter-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;color:#15382c;font-size:14px;font-weight:650}
.cc-events .cc-events__filter-heading i{margin-right:7px;color:#31724e}
.cc-events .cc-events__filter-heading small{font-size:12px;font-weight:400;color:#63736a}
.cc-events .cc-events__section-head{margin-top:29px!important}
.cc-events .cc-events__pagination{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px;margin:25px 0 35px;padding:16px 0;border-top:1px solid #e3eae5}
.cc-events .cc-events__page-summary{font-size:14px;color:#52685d}
.cc-events .cc-events__pagination a,.cc-events .cc-events__pagination span{font-size:14px}
@media(max-width:767px){html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-inner{padding:24px 0 28px!important}.cc-events .cc-events__breadcrumb{margin-bottom:9px!important}.cc-events .cc-events__filter-heading small{display:none}.cc-events .cc-events__pagination{justify-content:center}.cc-events .cc-events__page-summary{width:100%;text-align:center}}

/* v1.0.26 — cohesive compact visual redesign; scoped to timeline only */
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-inner{
  min-height:0!important;padding:23px 0 26px!important;display:block!important;
}
.cc-events .cc-events__hero-copy{max-width:1040px!important}
.cc-events .cc-events__breadcrumb{margin:0 0 9px!important;gap:8px!important;font-size:12px!important}
.cc-events .cc-events__eyebrow{margin:0 0 5px!important;font-size:10px!important;letter-spacing:.1em!important}
html.com_eventbooking.view-upcomingevents .cc-events .cc-events__title{
  font-size:clamp(29px,3vw,43px)!important;line-height:1.12!important;margin:0 0 7px!important;letter-spacing:-.045em!important;
}
.cc-events .cc-events__subtitle{font-size:14px!important;line-height:1.5!important;max-width:700px!important;margin:0 0 12px!important}
.cc-events .cc-events__hero-actions{gap:14px!important}
.cc-events .cc-events__hero-action{min-height:34px!important;padding:7px 14px!important;gap:11px!important;font-size:12px!important}
.cc-events .cc-events__hero-count{font-size:12px!important}
.cc-events .cc-events__hero-wrap::after{width:250px!important;height:250px!important;top:-160px!important;right:-70px!important}
.cc-events .cc-events__shell{max-width:1400px}
.cc-events .cc-events__filters{margin:22px 0 0!important;padding:16px 18px!important;background:#fff!important;border:1px solid #e4eae6!important;box-shadow:0 4px 22px rgba(14,48,35,.035)!important;border-radius:14px!important}
.cc-events .cc-events__filter-heading{display:flex!important;align-items:center!important;justify-content:flex-start!important;gap:12px!important;margin:0 0 12px!important;line-height:1.4!important}
.cc-events .cc-events__filter-label{display:inline-flex!important;align-items:center!important;gap:7px!important;white-space:nowrap!important;font-size:14px!important;font-weight:650!important}
.cc-events .cc-events__filter-label i{margin:0!important}
.cc-events .cc-events__filter-heading small{display:block!important;font-size:12px!important;color:#6a7971!important;line-height:1.5!important}
/* Neutralize the oversized gray legacy Event Booking search bar while leaving its fields, names and submit working */
.cc-events .cc-events__filters form,
.cc-events .cc-events__filters .eb-search-bar,
.cc-events .cc-events__filters .eb-search-form,
.cc-events .cc-events__filters .eb-search-filter,
.cc-events .cc-events__filters .eb-search-container,
.cc-events .cc-events__filters .eb-search-fields,
.cc-events .cc-events__filters .row{
  background:transparent!important;box-shadow:none!important;min-height:0!important;margin-top:0!important;margin-bottom:0!important;
}
.cc-events .cc-events__filters form{width:100%!important}
.cc-events .cc-events__filters .row{display:flex!important;flex-wrap:wrap!important;align-items:end!important;gap:10px!important;margin-left:0!important;margin-right:0!important}
.cc-events .cc-events__filters .row>[class*=col-]{padding-left:0!important;padding-right:0!important;margin:0!important;flex:1 1 175px!important;width:auto!important;max-width:none!important;min-width:0!important}
.cc-events .cc-events__filters input:not([type=hidden]),.cc-events .cc-events__filters select{
  width:100%!important;max-width:100%!important;min-height:42px!important;height:42px!important;padding:8px 12px!important;border-radius:9px!important;font-size:14px!important;background:#fff!important;border:1px solid #dfe5e0!important;color:#192d23!important;
}
.cc-events .cc-events__filters button,.cc-events .cc-events__filters input[type=submit],.cc-events .cc-events__filters .btn{
  min-height:42px!important;height:42px!important;border-radius:9px!important;padding:9px 17px!important;font-size:13px!important;line-height:1.2!important;white-space:nowrap!important;box-shadow:none!important;
}
.cc-events .cc-events__filters input:focus,.cc-events .cc-events__filters select:focus{outline:2px solid #9aca64!important;outline-offset:1px!important}
.cc-events .cc-events__section-head{margin:31px 0 21px!important;align-items:center!important}
.cc-events .cc-events__kicker{font-size:10px!important;margin-bottom:4px!important}
.cc-events .cc-events__section-title{font-size:clamp(25px,2.5vw,34px)!important;line-height:1.2!important}
.cc-events .cc-events__pagination{margin:25px 0 30px!important;padding:14px 0!important;gap:12px!important}
.cc-events .cc-events__pagination .pagination{display:flex!important;flex-wrap:wrap!important;gap:6px!important;margin:0!important;padding:0!important;list-style:none!important}
.cc-events .cc-events__pagination .pagination a,.cc-events .cc-events__pagination .pagination span{display:inline-flex;justify-content:center;align-items:center;min-width:34px;min-height:34px;padding:6px 10px;border:1px solid #e1e9e2;border-radius:8px;text-decoration:none}
@media(max-width:767px){
 html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-inner{padding:21px 0 24px!important}
 .cc-events .cc-events__hero-actions{gap:10px!important}
 .cc-events .cc-events__filters{padding:14px!important;margin-top:16px!important}
 .cc-events .cc-events__filter-heading{flex-direction:column!important;align-items:flex-start!important;gap:2px!important}
 .cc-events .cc-events__filters .row>[class*=col-]{flex:1 1 100%!important}
 .cc-events .cc-events__section-head{margin:26px 0 16px!important}
 .cc-events .cc-events__section-title{font-size:25px!important}
}


/* =========================================================
   v1.0.27 — minimalist hero + refined creative filters
   ========================================================= */
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events{
  padding-bottom:84px!important;
}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-wrap{
  background:linear-gradient(130deg,#062b28 0%,#0b3a35 58%,#12443e 100%)!important;
  border-bottom:1px solid rgba(255,255,255,.06)!important;
}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-wrap::before{
  background:
    radial-gradient(circle at 84% 24%,rgba(166,227,25,.08),transparent 18%),
    radial-gradient(circle at 88% 82%,rgba(255,255,255,.05),transparent 22%),
    linear-gradient(130deg,#062b28 0%,#0b3a35 58%,#12443e 100%)!important;
}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-wrap::after{
  right:-86px!important;top:-126px!important;width:290px!important;height:290px!important;
  border-color:rgba(255,255,255,.08)!important;
  box-shadow:0 0 0 34px rgba(255,255,255,.022),0 0 0 74px rgba(255,255,255,.016)!important;
}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-inner{
  width:min(1400px,calc(100% - 64px))!important;
  min-height:0!important;
  padding:24px 0 30px!important;
  align-items:flex-start!important;
}
.cc-events .cc-events__hero-copy{max-width:760px!important}
.cc-events .cc-events__breadcrumb{
  margin:0 0 12px!important;
  color:rgba(225,237,231,.88)!important;
  font-size:12px!important;
}
.cc-events .cc-events__eyebrow{
  margin:0 0 10px!important;
  font-size:11px!important;
  letter-spacing:.16em!important;
}
.cc-events .cc-events__title{
  max-width:720px!important;
  margin:0 0 12px!important;
  font-size:clamp(38px,5vw,64px)!important;
  font-weight:300!important;
  line-height:.98!important;
  letter-spacing:-.06em!important;
}
.cc-events .cc-events__subtitle{
  max-width:560px!important;
  margin:0 0 18px!important;
  color:rgba(223,235,228,.92)!important;
  font-size:15px!important;
  line-height:1.65!important;
}
.cc-events .cc-events__hero-actions{
  gap:12px!important;
}
.cc-events .cc-events__hero-action{
  min-height:40px!important;
  padding:9px 16px!important;
  gap:10px!important;
  border-radius:999px!important;
  background:var(--cc-lime)!important;
  color:#0e2d26!important;
  font-size:13px!important;
  font-weight:700!important;
  box-shadow:0 10px 22px rgba(0,0,0,.14)!important;
}
.cc-events .cc-events__hero-count{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  min-height:40px!important;
  padding:8px 13px!important;
  border:1px solid rgba(255,255,255,.11)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.05)!important;
  color:#e4efe9!important;
  font-size:12px!important;
}
.cc-events .cc-events__hero-count strong{
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
}
.cc-events .cc-events__hero-art{display:none!important}
.cc-events .cc-events__ics{
  top:18px!important;
}
.cc-events .cc-events__ics .btn,
.cc-events .cc-events__ics a{
  min-height:36px!important;
  padding:8px 14px!important;
  border-radius:999px!important;
  border:1px solid rgba(255,255,255,.12)!important;
  background:rgba(255,255,255,.05)!important;
  color:#eef5f0!important;
  font-size:12px!important;
}

.cc-events .cc-events__intro{
  margin-top:26px!important;
  padding:18px 20px!important;
  border-radius:18px!important;
  background:#fbfcfb!important;
}
.cc-events .cc-events__filters{
  margin:24px 0 0!important;
  padding:18px!important;
  border:1px solid #e5ebe7!important;
  border-radius:24px!important;
  background:rgba(255,255,255,.98)!important;
  box-shadow:0 18px 56px rgba(12,41,30,.06)!important;
}
.cc-events .cc-events__filter-heading{
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:4px!important;
  margin:0 0 16px!important;
}
.cc-events .cc-events__filter-label{
  display:inline-flex!important;
  align-items:center!important;
  gap:10px!important;
  color:#173f33!important;
  font-size:12px!important;
  font-weight:700!important;
  letter-spacing:.12em!important;
  text-transform:uppercase!important;
}
.cc-events .cc-events__filter-label i{
  display:inline-grid!important;
  place-items:center!important;
  width:28px!important;
  height:28px!important;
  border-radius:999px!important;
  background:#eef6ee!important;
  color:#154938!important;
  font-size:12px!important;
}
.cc-events .cc-events__filter-heading small{
  display:block!important;
  margin-left:38px!important;
  color:#708078!important;
  font-size:13px!important;
  line-height:1.5!important;
}
.cc-events .cc-events__filters form,
.cc-events .cc-events__filters .eb-search-bar,
.cc-events .cc-events__filters .eb-search-form,
.cc-events .cc-events__filters .eb-search-filter,
.cc-events .cc-events__filters .eb-search-container,
.cc-events .cc-events__filters .eb-search-fields,
.cc-events .cc-events__filters .controls,
.cc-events .cc-events__filters .control-group,
.cc-events .cc-events__filters .form-group{
  width:100%!important;
  max-width:none!important;
}
.cc-events .cc-events__filters form{margin:0!important}
.cc-events .cc-events__filters .row,
.cc-events .cc-events__filters .row-fluid{
  display:grid!important;
  grid-template-columns:minmax(220px,1.3fr) minmax(180px,1fr) minmax(180px,1fr) auto!important;
  align-items:end!important;
  gap:12px!important;
  margin:0!important;
}
.cc-events .cc-events__filters .row > [class*="col-"],
.cc-events .cc-events__filters .row-fluid > [class*="span"],
.cc-events .cc-events__filters .control-group,
.cc-events .cc-events__filters .form-group{
  float:none!important;
  width:auto!important;
  max-width:none!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
}
.cc-events .cc-events__filters .row > [class*="col-"]:empty,
.cc-events .cc-events__filters .row-fluid > [class*="span"]:empty{display:none!important}
.cc-events .cc-events__filters .control-label,
.cc-events .cc-events__filters label:not(.btn){
  display:none!important;
}
.cc-events .cc-events__filters .controls,
.cc-events .cc-events__filters .input-group,
.cc-events .cc-events__filters .field-calendar{
  display:block!important;
  width:100%!important;
}
.cc-events .cc-events__filters input:not([type=hidden]):not([type=submit]):not([type=button]):not([type=reset]),
.cc-events .cc-events__filters select,
.cc-events .cc-events__filters .hasDatepicker,
.cc-events .cc-events__filters .field-calendar input{
  display:block!important;
  width:100%!important;
  min-height:52px!important;
  padding:0 16px!important;
  border:1px solid #dde6df!important;
  border-radius:16px!important;
  background:#f7f9f7!important;
  color:#153128!important;
  font-size:14px!important;
  box-shadow:none!important;
}
.cc-events .cc-events__filters input::placeholder{color:#88958e!important;opacity:1!important}
.cc-events .cc-events__filters input:hover,
.cc-events .cc-events__filters select:hover{border-color:#cbd7cf!important;background:#fff!important}
.cc-events .cc-events__filters input:focus,
.cc-events .cc-events__filters select:focus{
  background:#fff!important;
  border-color:#90bf71!important;
  outline:2px solid rgba(166,227,25,.18)!important;
  outline-offset:1px!important;
}
.cc-events .cc-events__filters button,
.cc-events .cc-events__filters input[type=submit],
.cc-events .cc-events__filters .btn{
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-width:136px!important;
  min-height:52px!important;
  padding:0 18px!important;
  border:0!important;
  border-radius:16px!important;
  background:#0b3029!important;
  color:#fff!important;
  font-size:13px!important;
  font-weight:700!important;
  letter-spacing:.02em!important;
  box-shadow:0 14px 28px rgba(8,39,31,.12)!important;
  text-transform:uppercase!important;
}
.cc-events .cc-events__filters button:hover,
.cc-events .cc-events__filters input[type=submit]:hover,
.cc-events .cc-events__filters .btn:hover{background:#123f35!important}

.cc-events .cc-events__section-head{margin:40px 0 24px!important}
.cc-events .cc-events__section-title{font-size:clamp(30px,3.4vw,44px)!important}
.cc-events .cc-events__count{
  border-color:#e4ebe5!important;
  background:#fff!important;
  box-shadow:0 8px 20px rgba(10,38,28,.04)!important;
}
.cc-events .cc-events__pagination{
  margin:26px 0 8px!important;
  padding:18px 0 0!important;
  border-top:1px solid #e7ece8!important;
}
.cc-events .cc-events__pagination .pagination a,
.cc-events .cc-events__pagination .pagination span{
  min-width:38px!important;
  min-height:38px!important;
  border-radius:12px!important;
  background:#fff!important;
}

@media (max-width: 991px){
  html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-inner{
    width:calc(100% - 40px)!important;
    padding:22px 0 26px!important;
  }
  .cc-events .cc-events__title{font-size:clamp(36px,7vw,52px)!important}
  .cc-events .cc-events__filters .row,
  .cc-events .cc-events__filters .row-fluid{
    grid-template-columns:1fr 1fr!important;
  }
  .cc-events .cc-events__filters .row > [class*="col-"]:last-child,
  .cc-events .cc-events__filters .row-fluid > [class*="span"]:last-child,
  .cc-events .cc-events__filters .control-group:last-child,
  .cc-events .cc-events__filters .form-group:last-child{
    grid-column:1 / -1!important;
  }
}
@media (max-width: 767px){
  html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-inner{
    width:calc(100% - 28px)!important;
    padding:18px 0 22px!important;
  }
  .cc-events .cc-events__breadcrumb{margin-bottom:10px!important}
  .cc-events .cc-events__eyebrow{margin-bottom:8px!important}
  .cc-events .cc-events__title{font-size:clamp(34px,11vw,46px)!important}
  .cc-events .cc-events__subtitle{font-size:14px!important;margin-bottom:16px!important}
  .cc-events .cc-events__hero-actions{flex-direction:column!important;align-items:flex-start!important}
  .cc-events .cc-events__hero-count{padding:8px 12px!important}
  .cc-events .cc-events__ics{position:static!important;margin-top:12px!important}
  .cc-events .cc-events__filters{padding:14px!important;border-radius:18px!important}
  .cc-events .cc-events__filter-heading small{margin-left:0!important;font-size:12px!important}
  .cc-events .cc-events__filters .row,
  .cc-events .cc-events__filters .row-fluid{
    grid-template-columns:1fr!important;
  }
  .cc-events .cc-events__section-head{
    margin:34px 0 20px!important;
    gap:12px!important;
  }
}


/* v1.0.28 — native form reflow, no giant gray nested toolbar */
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters{
  margin:22px 0 0!important;padding:20px 22px!important;
  border:1px solid #e8ede9!important;border-radius:20px!important;
  background:#fff!important;box-shadow:0 8px 28px rgba(11,48,41,.035)!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-heading{
  display:flex!important;flex-direction:row!important;justify-content:space-between!important;
  align-items:center!important;gap:18px!important;margin:0 0 18px!important;
}
.cc-events .cc-events__filter-copy{display:flex;flex-direction:column;gap:3px}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-heading small{
  margin-left:0!important;font-size:13px!important;color:#7b8980!important;
}
.cc-events .cc-events__filter-label i{background:none!important;width:auto!important;height:auto!important;color:#2f5e4a!important}
.cc-events .cc-events__calendar-link{
  display:inline-flex;align-items:center;justify-content:center;gap:9px;
  min-height:40px;padding:8px 14px;border:1px solid #dce7de;border-radius:11px;
  color:#143b30!important;background:#f7faf7;font-size:13px;font-weight:650;
  white-space:nowrap;transition:background .15s,border-color .15s;
}
.cc-events .cc-events__calendar-link:hover{background:#eaf4e9;border-color:#bdcfbd;color:#10392d!important}
.cc-events .cc-events__calendar-link i{font-size:14px}
.cc-events .cc-events__calendar-link-arrow{font-size:10px!important;opacity:.6}
/* The native Event Booking gray box is decorative; hide it once controls have
   been extracted into the working form grid, but retain hidden inputs. */
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced form > :not(.cc-events__filter-grid){display:none!important}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced form > input[type=hidden]{display:none!important}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid{
  display:grid!important;grid-template-columns:minmax(170px,1.15fr) minmax(150px,1fr) minmax(150px,1fr) 132px!important;
  gap:12px!important;align-items:end!important;
  margin:0!important;padding:0!important;
  background:transparent!important;border:0!important;box-shadow:none!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-field{
  display:flex!important;flex-direction:column!important;min-width:0!important;gap:7px!important;
  background:transparent!important;margin:0!important;padding:0!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-field label{
  display:block!important;margin:0!important;padding:0!important;
  font-size:12px!important;font-weight:600!important;line-height:1.3!important;color:#4e6157!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-field input:not([type=hidden]),
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-field select{
  display:block!important;width:100%!important;min-height:46px!important;height:46px!important;
  margin:0!important;padding:0 14px!important;
  border:1px solid #e0e7e2!important;border-radius:11px!important;
  background:#fbfcfb!important;color:#193e31!important;
  font-size:14px!important;box-shadow:none!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-submit{display:flex!important;align-items:end!important;min-width:0!important}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-submit button,
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-submit input[type=submit],
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-submit .btn{
  width:100%!important;min-width:0!important;min-height:46px!important;height:46px!important;
  margin:0!important;padding:0 16px!important;border-radius:11px!important;
  background:#123d33!important;color:#fff!important;border:0!important;
  font-size:13px!important;font-weight:650!important;box-shadow:none!important;
}
@media(max-width:960px){
 #eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid{grid-template-columns:1fr 1fr!important}
}
@media(max-width:600px){
 #eb-upcoming-events-page-timeline.cc-events .cc-events__filters{padding:16px!important}
 #eb-upcoming-events-page-timeline.cc-events .cc-events__filter-heading{align-items:flex-start!important;flex-direction:column!important;gap:12px!important}
 #eb-upcoming-events-page-timeline.cc-events .cc-events__calendar-link{width:100%!important}
 #eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid{grid-template-columns:1fr!important}
}


/* v1.0.29 — hard reset of Event Booking's legacy search toolbar */
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters {
    margin-top:22px!important; padding:20px 22px!important;
    border:1px solid #e7ece8!important; border-radius:19px!important;
    background:#fff!important; box-shadow:0 10px 35px rgba(9,38,32,.045)!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-heading {
    display:flex!important; flex-direction:row!important; justify-content:space-between!important;
    align-items:center!important; gap:18px!important; margin:0 0 18px!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-copy {
    display:flex!important; flex-direction:column!important; gap:4px!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filter-copy small {margin:0!important;color:#6c7b72!important;font-size:13px!important}
#eb-upcoming-events-page-timeline.cc-events a.cc-events__calendar-link,
#eb-upcoming-events-page-timeline.cc-events a.cc-events__calendar-link:link {
    display:inline-flex!important; align-items:center!important; justify-content:center!important;
    gap:9px!important; width:auto!important; min-width:142px!important;
    height:40px!important; padding:0 15px!important; margin:0!important;
    border:1px solid #dfe9e2!important; border-radius:11px!important;
    background:#f5faf6!important; color:#163e32!important;
    font-size:13px!important; font-weight:600!important; line-height:1.2!important;
    text-decoration:none!important; box-shadow:none!important;
}
#eb-upcoming-events-page-timeline.cc-events a.cc-events__calendar-link:hover{background:#e9f4e9!important}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filters-native-form,
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filters-native-form > .cc-events__filter-grid {
    width:100%!important; max-width:none!important; margin:0!important; padding:0!important;
    background:transparent!important; border:0!important; box-shadow:none!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filters-native-form > .cc-events__filter-grid {
    display:grid!important;
    grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) minmax(0,1fr) 132px!important;
    gap:12px!important; align-items:end!important; justify-content:stretch!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid > * {
    grid-column:auto!important; grid-row:auto!important; width:auto!important;
    max-width:none!important; min-width:0!important; margin:0!important;
    padding:0!important; float:none!important; clear:none!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-field {
    display:flex!important; flex-direction:column!important; gap:7px!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-field label {
    display:block!important; margin:0!important; padding:0!important;
    font-size:12px!important; font-weight:600!important; color:#4a6357!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid input:not([type=hidden]),
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid select {
    display:block!important; width:100%!important; max-width:none!important;
    height:46px!important; min-height:46px!important; margin:0!important;
    padding:0 14px!important; border:1px solid #dfe7e1!important;
    border-radius:11px!important; background:#f9fbf9!important;
    color:#1c3b30!important; font-size:14px!important; box-shadow:none!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid input[type=submit],
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid button,
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid .btn {
    width:100%!important; min-width:0!important; max-width:none!important;
    height:46px!important; min-height:46px!important; margin:0!important;
    border-radius:11px!important; background:#103a2f!important; color:#fff!important;
    box-shadow:none!important; font-size:13px!important;
}
/* Remove the legacy gray box under the new controls (native fields are preserved). */
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .eb-search-bar,
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .eb-search-filter,
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .eb-search-container,
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .eb-search-fields,
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced #eb-search-bar,
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .search-filter,
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .well,
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .form-horizontal,
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .row,
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .row-fluid {
    background:transparent!important; background-image:none!important;
    border:0!important; box-shadow:none!important;
    margin-top:0!important; margin-bottom:0!important;
}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced form > :not(.cc-events__filter-grid) {
    display:none!important; height:0!important; min-height:0!important;
    padding:0!important; margin:0!important; border:0!important;
}
@media (max-width:900px){
 #eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filters-native-form > .cc-events__filter-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr)!important;
 }
}
@media (max-width:580px){
 #eb-upcoming-events-page-timeline.cc-events .cc-events__filters {padding:16px!important}
 #eb-upcoming-events-page-timeline.cc-events .cc-events__filter-heading {flex-direction:column!important;align-items:stretch!important}
 #eb-upcoming-events-page-timeline.cc-events a.cc-events__calendar-link {width:100%!important}
 #eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filters-native-form > .cc-events__filter-grid{
    grid-template-columns:minmax(0,1fr)!important;
 }
}


/* Filantrophy reference styling — v1.0.30 */
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events{--cc-lime:#a5ee17;background:#fafbf9!important;color:#102b28!important}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-wrap{background:#f2f8f3!important;color:#102b28!important;border-bottom:1px solid #e8eeea!important}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-wrap::before{background:linear-gradient(120deg,#eff7f1,#fafbf9 55%,#f5f9f4)!important}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-wrap::after, .cc-events .cc-events__hero-art{display:none!important}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events .cc-events__hero-inner{min-height:0!important;padding:33px 0 36px!important}
.cc-events .cc-events__breadcrumb{color:#52675e!important;margin:0 0 12px!important}
.cc-events .cc-events__breadcrumb span:first-child{color:#367350!important}
.cc-events .cc-events__eyebrow{color:#43875d!important}
.cc-events .cc-events__title{color:#102b28!important;font-size:clamp(34px,4vw,55px)!important;font-weight:400!important;letter-spacing:-.06em!important;line-height:1.08!important;margin-bottom:10px!important}
.cc-events .cc-events__subtitle{color:#657873!important;font-size:15px!important;line-height:1.65!important;margin-bottom:16px!important}
.cc-events .cc-events__hero-count{color:#536c5f!important;border:1px solid #dce7df!important;background:#fff!important}
.cc-events .cc-events__hero-count strong{color:#102b28!important}
.cc-events .cc-events__hero-action{background:#103b30!important;color:#fff!important;box-shadow:none!important}
.cc-events .cc-events__hero-action:hover{background:#1d5344!important}
.cc-events .cc-events__shell{width:min(1190px,calc(100% - 48px))!important}
.cc-events .cc-events__filters{border:1px solid #e8eeea!important;border-radius:18px!important;background:#fff!important;box-shadow:0 12px 38px rgba(14,49,37,.045)!important;padding:16px!important}
.cc-events .cc-events__filter-heading{flex-direction:row!important;align-items:center!important;justify-content:space-between!important;margin-bottom:14px!important}
.cc-events .cc-events__filter-label{color:#102b28!important}
.cc-events .cc-events__filter-heading small{margin-left:0!important}
.cc-events .cc-events__calendar-link{border-radius:999px!important;padding:9px 15px!important;background:#f4f8f3!important;color:#133d31!important;border:1px solid #e0e9e0!important;display:inline-flex!important;align-items:center!important;gap:8px!important;font-size:13px!important;font-weight:700!important;white-space:nowrap!important}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filters-native-form>.cc-events__filter-grid{display:grid!important;grid-template-columns:minmax(190px,1.5fr) repeat(2,minmax(130px,1fr)) minmax(120px,auto)!important;gap:10px!important;align-items:end!important;background:transparent!important;border:0!important;padding:0!important}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-field{min-width:0!important;background:transparent!important}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid input:not([type=hidden]),#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid select{min-height:48px!important;border-radius:11px!important;border:1px solid #e9eeeb!important;background:#f8faf8!important;box-shadow:none!important;padding:0 13px!important;font-size:14px!important}
#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid button,#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filter-grid input[type=submit]{min-height:48px!important;border-radius:11px!important;background:#103b30!important;box-shadow:none!important;color:#fff!important}
.cc-events .cc-events__section-head{margin:34px 0 17px!important}
.cc-events .cc-events__section-title{font-size:clamp(25px,3vw,34px)!important;letter-spacing:-.045em!important}
.cc-events .cc-events__listing-tools{display:flex;justify-content:space-between;align-items:center;gap:15px;margin:0 0 17px;color:#647d70}
.cc-events .cc-events__listing-label{font-size:13px;display:flex;gap:9px;align-items:center}
.cc-events .cc-events__listing-actions{display:flex;gap:10px;align-items:center;font-size:13px}
.cc-events .cc-events__listing-actions select{min-height:40px;background:#fff;border:1px solid #e3eae5;border-radius:10px;padding:0 11px;color:#102b28;font-size:13px}
.cc-events .cc-events__per-page{border-radius:999px;background:#edf5e9;padding:8px 11px;white-space:nowrap}
.cc-events #eb-events.eb-events-timeline{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
.cc-events #eb-events.eb-events-timeline::before{display:none!important}
.cc-events #eb-events .eb-event-container{display:block!important;min-width:0!important;border:0!important;margin:0!important;padding:0!important}
.cc-events #eb-events .eb-event-date-container{position:absolute!important;top:13px!important;left:13px!important;margin:0!important;width:58px!important;z-index:4!important}
.cc-events #eb-events .eb-event-date{width:58px!important;min-height:65px!important;background:#fff!important;border-radius:10px!important;padding:8px 5px!important}
.cc-events #eb-events .eb-event-date::after{display:none!important}
.cc-events #eb-events .eb-event-date-day{font-size:21px!important}
.cc-events #eb-events .eb-event-date-month{font-size:10px!important;margin-top:3px!important}
.cc-events #eb-events .cc-event-card__surface{grid-template-columns:39% minmax(0,1fr)!important;border-radius:17px!important;min-height:244px!important;box-shadow:0 12px 38px rgba(14,49,37,.045)!important}
.cc-events #eb-events .cc-event-card__media{min-height:244px!important}
.cc-events #eb-events .cc-event-card__media img{min-height:244px!important}
.cc-events #eb-events .cc-event-card__content{padding:18px 19px!important}
.cc-events #eb-events .eb-event-title-container{font-size:clamp(17px,1.45vw,20px)!important;letter-spacing:-.035em!important;margin-bottom:10px!important}
.cc-events #eb-events .eb-event-information{font-size:12px!important;margin-bottom:10px!important}
.cc-events .cc-events__client-pages{display:flex;justify-content:center;gap:8px;align-items:center;margin:28px auto 10px}
.cc-events .cc-events__client-pages[hidden]{display:none!important}
.cc-events .cc-events__client-pages button{width:39px;height:39px;border:1px solid #e2eae4;background:#fff;color:#123d31;border-radius:10px;font-size:14px}
.cc-events .cc-events__client-pages button.is-active{background:#103b30;color:#fff;border-color:#103b30}
.cc-events .cc-events__client-pages button:disabled{opacity:.35}
@media(max-width:1050px){.cc-events #eb-events.eb-events-timeline{grid-template-columns:1fr!important}}
@media(max-width:780px){#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filters-native-form>.cc-events__filter-grid{grid-template-columns:1fr 1fr!important}.cc-events .cc-events__filter-heading{align-items:flex-start!important;gap:12px!important}.cc-events .cc-events__listing-tools{flex-wrap:wrap}}
@media(max-width:520px){.cc-events .cc-events__shell{width:calc(100% - 28px)!important}#eb-upcoming-events-page-timeline.cc-events .cc-events__filters--enhanced .cc-events__filters-native-form>.cc-events__filter-grid{grid-template-columns:1fr!important}.cc-events .cc-events__filter-heading{flex-direction:column!important}.cc-events #eb-events .cc-event-card__surface{display:block!important}.cc-events #eb-events .cc-event-card__media,.cc-events #eb-events .cc-event-card__media img{min-height:195px!important;height:195px!important}.cc-events .cc-events__listing-actions{flex-wrap:wrap}}

/* v1.0.31 reference-matched layout, intentionally page-scoped */
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline.cc-events {font-family:'DM Sans',Inter,-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif!important;background:#fafbf9!important}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline .cc-events__hero-wrap{background:#f2f8f3!important;color:#102b28!important}
html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline .cc-events__hero-inner{width:min(1190px,calc(100% - 48px))!important;padding:58px 0 44px!important;display:flex!important;align-items:flex-end!important;justify-content:space-between!important;gap:30px!important}
#eb-upcoming-events-page-timeline .cc-events__eyebrow{font-size:11px!important;color:#43875d!important;margin:0 0 15px!important;letter-spacing:1.7px!important;font-weight:800!important}
#eb-upcoming-events-page-timeline .cc-events__title{font-family:Manrope,'DM Sans',sans-serif!important;font-weight:500!important;font-size:clamp(36px,5vw,59px)!important;letter-spacing:-.055em!important;line-height:1.08!important;margin:0 0 13px!important;color:#102b28!important}
#eb-upcoming-events-page-timeline .cc-events__period{color:#87bb40!important}
#eb-upcoming-events-page-timeline .cc-events__subtitle{font-size:15px!important;max-width:550px!important;line-height:1.7!important;color:#657873!important;margin:0!important}
#eb-upcoming-events-page-timeline .cc-events__view-switch{display:inline-flex!important;align-items:center!important;gap:3px!important;padding:5px!important;border:1px solid #e8eeea!important;border-radius:50px!important;background:#fff!important;box-shadow:0 12px 38px rgba(14,49,37,.045)!important;flex-shrink:0!important}
#eb-upcoming-events-page-timeline .cc-events__view-switch a{display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;min-height:40px!important;padding:10px 19px!important;border-radius:50px!important;border:0!important;background:transparent!important;color:#75817e!important;font-size:13px!important;font-weight:700!important;text-decoration:none!important}
#eb-upcoming-events-page-timeline .cc-events__view-switch a.is-active{background:#07322b!important;color:#fff!important}
#eb-upcoming-events-page-timeline .cc-events__hero-art,#eb-upcoming-events-page-timeline .cc-events__hero-actions{display:none!important}
#eb-upcoming-events-page-timeline .cc-events__shell{width:min(1190px,calc(100% - 48px))!important}
#eb-upcoming-events-page-timeline .cc-events__filters{margin:30px 0 0!important;padding:15px!important;border-radius:18px!important;border:1px solid #e8eeea!important;background:#fff!important;box-shadow:0 12px 38px rgba(14,49,37,.045)!important}
#eb-upcoming-events-page-timeline .cc-events__filter-heading{margin:0 0 12px!important}
#eb-upcoming-events-page-timeline .cc-events__filter-label{font-size:12px!important;letter-spacing:.03em!important;text-transform:none!important}
#eb-upcoming-events-page-timeline .cc-events__filters .cc-events__filter-copy small{font-size:12px!important}
#eb-upcoming-events-page-timeline .cc-events__filters--enhanced form.cc-events__filters-native-form{padding:0!important;margin:0!important;border:0!important;background:transparent!important}
#eb-upcoming-events-page-timeline .cc-events__filters--enhanced form.cc-events__filters-native-form>.cc-events__filter-grid{display:grid!important;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr) minmax(0,1fr) auto!important;gap:10px!important;align-items:end!important;background:none!important}
#eb-upcoming-events-page-timeline .cc-events__filters--enhanced .cc-events__filter-field{min-width:0!important;display:flex!important;flex-direction:column!important;gap:7px!important}
#eb-upcoming-events-page-timeline .cc-events__filters--enhanced .cc-events__filter-field label{display:block!important;font-size:12px!important;color:#657873!important}
#eb-upcoming-events-page-timeline .cc-events__filters--enhanced .cc-events__filter-grid input:not([type=hidden]),#eb-upcoming-events-page-timeline .cc-events__filters--enhanced .cc-events__filter-grid select{width:100%!important;height:48px!important;min-height:48px!important;border-radius:11px!important;background:#f8faf8!important;border:1px solid #e9eeeb!important;box-shadow:none!important;padding:0 14px!important;color:#102b28!important;font-size:13px!important}
#eb-upcoming-events-page-timeline .cc-events__filters--enhanced .cc-events__filter-submit{align-self:end!important}
#eb-upcoming-events-page-timeline .cc-events__filters--enhanced .cc-events__filter-submit button,#eb-upcoming-events-page-timeline .cc-events__filters--enhanced .cc-events__filter-submit input[type=submit]{height:48px!important;min-height:48px!important;min-width:136px!important;padding:0 18px!important;background:#07322b!important;color:#fff!important;border:0!important;border-radius:11px!important;font-size:13px!important;font-weight:700!important;box-shadow:none!important}
#eb-upcoming-events-page-timeline .cc-events__section-head{margin:39px 0 20px!important}
#eb-upcoming-events-page-timeline .cc-events__section-title{font-family:Manrope,'DM Sans',sans-serif!important;font-size:26px!important;font-weight:500!important;letter-spacing:-1.2px!important;color:#102b28!important}
#eb-upcoming-events-page-timeline #eb-events.eb-events-timeline{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:18px!important}
#eb-upcoming-events-page-timeline #eb-events .eb-event-container{display:block!important;position:relative!important}
#eb-upcoming-events-page-timeline #eb-events .cc-event-card__surface{display:grid!important;grid-template-columns:41% minmax(0,1fr)!important;min-height:253px!important;border-radius:17px!important;overflow:hidden!important;border:1px solid #e8eeea!important;box-shadow:0 12px 38px rgba(14,49,37,.045)!important;transform:none!important}
#eb-upcoming-events-page-timeline #eb-events .cc-event-card__media{min-height:250px!important}
#eb-upcoming-events-page-timeline #eb-events .cc-event-card__media img{height:100%!important;min-height:250px!important;object-fit:cover!important}
#eb-upcoming-events-page-timeline #eb-events .cc-event-card__content{padding:22px!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important}
#eb-upcoming-events-page-timeline #eb-events .eb-event-title-container{font-family:Manrope,'DM Sans',sans-serif!important;font-size:19px!important;line-height:1.3!important;font-weight:600!important;letter-spacing:-.75px!important;margin:12px 0 11px!important}
#eb-upcoming-events-page-timeline #eb-events .eb-event-date-container{top:13px!important;left:13px!important;position:absolute!important;z-index:3!important}
#eb-upcoming-events-page-timeline #eb-events .eb-event-date{background:#fff!important;border:0!important;border-radius:10px!important;box-shadow:0 5px 20px #0001!important}
#eb-upcoming-events-page-timeline .cc-events__pagination,#eb-upcoming-events-page-timeline .cc-events__client-pages{justify-content:center!important}
@media(max-width:1050px){#eb-upcoming-events-page-timeline #eb-events.eb-events-timeline{grid-template-columns:1fr!important}}
@media(max-width:780px){html.com_eventbooking.view-upcomingevents #eb-upcoming-events-page-timeline .cc-events__hero-inner{flex-direction:column!important;align-items:flex-start!important;padding:42px 0 34px!important}#eb-upcoming-events-page-timeline .cc-events__filters--enhanced form.cc-events__filters-native-form>.cc-events__filter-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}}
@media(max-width:520px){#eb-upcoming-events-page-timeline .cc-events__shell{width:calc(100% - 28px)!important}#eb-upcoming-events-page-timeline .cc-events__hero-inner{width:calc(100% - 28px)!important}#eb-upcoming-events-page-timeline .cc-events__filters--enhanced form.cc-events__filters-native-form>.cc-events__filter-grid{grid-template-columns:1fr!important}#eb-upcoming-events-page-timeline #eb-events .cc-event-card__surface{display:block!important}#eb-upcoming-events-page-timeline #eb-events .cc-event-card__media{height:195px!important;min-height:195px!important}}

/* v1.0.37: filtered records must override the timeline's display:block!important */
html body #eb-upcoming-events-page-timeline.cc-events #eb-events .eb-event-container.fil-card-filtered-out,
html body #eb-upcoming-events-page-timeline.cc-events #eb-events .eb-event-container[hidden],
html body #eb-upcoming-events-page-timeline.cc-events #eb-events .eb-event-container[aria-hidden="true"] { display:none!important; }
html body #eb-upcoming-events-page-timeline.cc-events .fil-native-form[hidden] {display:none!important;}

/* v1.0.38 — grid contents are managed as actual matching DOM nodes */
#eb-upcoming-events-page-timeline #eb-events .fil-empty{grid-column:1/-1;min-height:210px;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;background:#fff;border:1px solid #e8eeea;border-radius:18px;text-align:center;color:#72837b;padding:35px;}
#eb-upcoming-events-page-timeline #eb-events .fil-empty strong{font-size:18px;color:#102b28}#eb-upcoming-events-page-timeline #eb-events .fil-empty p{font-size:14px;margin:0;}
