.ccrc-event-tabs { display:flex; flex-wrap:wrap; gap:12px; margin-bottom:28px; }
.ccrc-event-tabs a { padding:11px 20px; border:1px solid #cdd9d0; border-radius:4px; color:#285b48; text-decoration:none; }
.ccrc-event-tabs a[aria-current], .ccrc-event-tabs a:hover { background:#285b48; border-color:#285b48; color:#fff; }
.ccrc-event-tabs a:focus-visible { outline:3px solid #287caa; outline-offset:3px; }
.ccrc-events-empty { padding:32px; background:#f1f5f0; border-left:4px solid #d5df45; border-radius:0 12px 12px 0; }
.ccrc-events-empty h3 { color:#285b48; font-size:22px; font-weight:500; margin:0 0 12px; }
.ccrc-events-empty p { margin:0; line-height:1.7; }
.ccrc-events-undated { grid-column:1 / -1; font-size:22px; font-weight:500; margin:12px 0 0; }
.ccrc-project-card .ccrc-event-location { color:#52675b; font-size:13px; }
.ccrc-event-facts { display:grid; gap:20px; padding:24px; background:#f1f5f0; border-radius:12px; margin:0 0 24px; }
.ccrc-event-facts dt { font-weight:600; color:#285b48; }
.ccrc-event-facts dd { margin:4px 0 0; }
.ccrc-event-register { display:inline-block; padding:12px 24px; background:#285b48; color:#fff !important; border-radius:4px; text-decoration:none; }
.ccrc-event-register:hover { background:#1d4435; }
.ccrc-event-register:focus-visible,.ccrc-event-gallery a:focus-visible { outline:3px solid #287caa; outline-offset:4px; }
.ccrc-event-photos { margin-top:40px; }
.ccrc-event-gallery { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ccrc-event-gallery figure { margin:0; }
.ccrc-event-gallery a { display:block; }
.ccrc-event-gallery img { width:100%; aspect-ratio:4/3; object-fit:cover; border-radius:8px; display:block; }
.ccrc-event-gallery figcaption { font-size:14px; line-height:1.5; margin-top:8px; }
@media(max-width:600px) { .ccrc-event-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; } }
@media(max-width:600px) { .ccrc-event-tabs a { flex:1; text-align:center; padding:10px; } .ccrc-events-empty { padding:24px; } }

/* Event detail layout: readable poster, practical details and a generous gallery. */
.ccrc-event-page { font-family:Poppins,sans-serif; color:#34443c; }
.ccrc-event-banner { padding:30px 0 42px; }
.ccrc-event-eyebrow { margin:28px 0 12px; font-size:13px; letter-spacing:.12em; text-transform:uppercase; color:#e0e790; }
.ccrc-event-banner h1 { max-width:950px; font-size:clamp(30px,4vw,48px); line-height:1.2; text-transform:none; }
.ccrc-event-banner-date { color:#fff; margin:20px 0 0; font-size:17px; }
.ccrc-event-layout { display:grid; grid-template-columns:minmax(0,1fr) 340px; gap:48px; padding-top:48px; padding-bottom:48px; align-items:start; }
.ccrc-event-overview { grid-column:2; grid-row:1; padding:28px; border:1px solid #dce4d7; border-top:4px solid #d5df45; background:#f1f5f0; border-radius:8px; overflow-wrap:anywhere; }
.ccrc-event-page h2 { color:#285b48; font-size:26px; font-weight:500; line-height:1.3; margin:0 0 22px; }
.ccrc-event-overview h2 { font-size:22px; }
.ccrc-event-overview .ccrc-event-facts { padding:0; margin:0 0 24px; gap:18px; background:none; }
.ccrc-event-overview dt { font-size:12px; text-transform:uppercase; letter-spacing:.08em; }
.ccrc-event-overview dd { font-size:15px; line-height:1.7; }
.ccrc-event-overview .ccrc-event-register { display:flex; justify-content:space-between; gap:12px; font-size:14px; }
.ccrc-event-contact { margin:22px 0 0; font-size:13px; line-height:1.8; }
.ccrc-event-overview a:not(.ccrc-event-register),.ccrc-event-back a { color:#285b48; text-underline-offset:4px; }
.ccrc-event-ended { padding-top:18px; border-top:1px solid #dce4d7; font-size:14px; }
.ccrc-event-story { grid-column:1; grid-row:1; min-width:0; }
.ccrc-event-poster { margin:0 0 32px; padding:20px; background:#f1f3ec; border-radius:10px; text-align:center; }
.ccrc-event-poster a { display:block; }
.ccrc-event-poster img { max-height:620px; width:auto; max-width:100%; object-fit:contain; display:block; margin:auto; }
.ccrc-event-poster a:focus-visible { outline:3px solid #287caa; outline-offset:4px; }
.ccrc-event-about { line-height:1.8; }
.ccrc-event-about p:last-child { margin-bottom:0; }
.ccrc-event-layout .ccrc-event-photos { grid-column:1 / -1; margin:0; padding-top:32px; border-top:1px solid #dce4d7; }
.ccrc-event-section-heading { display:flex; justify-content:space-between; align-items:baseline; gap:16px; margin-bottom:24px; }
.ccrc-event-section-heading h2 { margin:0; }
.ccrc-event-section-heading p { font-size:13px; color:#52675b; margin:0; }
.ccrc-event-page .ccrc-event-gallery { grid-template-columns:repeat(2,minmax(0,1fr)); }
.ccrc-event-page .ccrc-event-gallery img { aspect-ratio:auto; max-height:620px; object-fit:contain; background:#f1f3ec; }
.ccrc-event-page .ccrc-event-gallery-single { grid-template-columns:minmax(0,760px); }
.ccrc-event-back { grid-column:1 / -1; padding-top:24px; border-top:1px solid #dce4d7; font-size:15px; }
@media(max-width:800px) {
 .ccrc-event-layout { grid-template-columns:minmax(0,1fr); gap:32px; padding-top:28px; }
 .ccrc-event-overview { grid-column:1; grid-row:1; padding:24px; }
 .ccrc-event-story { grid-column:1; grid-row:2; }
 .ccrc-event-section-heading { display:block; }
 .ccrc-event-section-heading p { margin-top:10px; }
 .ccrc-event-poster { padding:12px; }
}
@media(max-width:480px) { .ccrc-event-page .ccrc-event-gallery { grid-template-columns:minmax(0,1fr); } }
.ccrc-event-banner .ccrc-project-breadcrumbs { color:#fff; }
.ccrc-event-banner .ccrc-project-breadcrumbs + h1 { margin-top:28px; }
