.crpe-events{--crpe-primary:#1f4d3a;--crpe-soft:rgba(31,77,58,.08);--crpe-border:rgba(31,77,58,.16);--crpe-text:#25352f;--crpe-muted:#66746e;max-width:1180px;margin:0 auto;color:var(--crpe-text)}
.crpe-events *{box-sizing:border-box}.crpe-events-hero{position:relative;overflow:hidden;margin:0 0 28px;padding:34px 36px;border-radius:24px;background:linear-gradient(135deg,rgba(31,77,58,.12),rgba(31,77,58,.04));border:1px solid var(--crpe-border)}
.crpe-events-hero:after{content:"";position:absolute;right:-80px;top:-80px;width:220px;height:220px;border-radius:50%;background:rgba(31,77,58,.08)}
.crpe-kicker{margin:0 0 8px;color:var(--crpe-primary);font-size:.78rem;font-weight:800;text-transform:uppercase;letter-spacing:.12em}.crpe-events-hero h2{margin:0 0 10px;color:var(--crpe-primary);font-size:clamp(2rem,4vw,3.2rem);line-height:1.05}.crpe-events-hero p:last-child{max-width:720px;margin:0;color:var(--crpe-muted);font-size:1.08rem;line-height:1.6}
.crpe-event-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:24px}.crpe-event-card{display:flex;flex-direction:column;min-height:100%;overflow:hidden;border-radius:22px;background:#fff;border:1px solid var(--crpe-border);box-shadow:0 16px 35px rgba(31,77,58,.09);transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.crpe-event-card:hover{transform:translateY(-4px);box-shadow:0 24px 50px rgba(31,77,58,.14);border-color:rgba(31,77,58,.3)}
.crpe-event-card.is-featured{grid-column:span 2}.crpe-card-image{position:relative;display:block;aspect-ratio:16/10;background:var(--crpe-soft);overflow:hidden}.crpe-card-image img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .35s ease}.crpe-event-card:hover .crpe-card-image img{transform:scale(1.045)}.crpe-placeholder{width:100%;height:100%;background:linear-gradient(135deg,rgba(31,77,58,.18),rgba(31,77,58,.05))}
.crpe-date-badge{position:absolute;left:16px;top:16px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:68px;min-height:68px;padding:8px;border-radius:18px;background:#fff;color:var(--crpe-primary);box-shadow:0 10px 28px rgba(0,0,0,.18);text-align:center}.crpe-date-badge strong{font-size:1.7rem;line-height:1}.crpe-date-badge em{font-style:normal;font-weight:800;text-transform:uppercase;font-size:.75rem;letter-spacing:.1em}
.crpe-card-body{display:flex;flex-direction:column;flex:1;padding:24px}.crpe-pill{display:inline-flex;width:max-content;margin-bottom:12px;padding:6px 10px;border-radius:999px;background:var(--crpe-soft);color:var(--crpe-primary);font-weight:800;font-size:.75rem;text-transform:uppercase;letter-spacing:.06em}.crpe-card-body h3{margin:0 0 12px;color:var(--crpe-primary);font-size:1.45rem;line-height:1.18}.crpe-card-body h3 a{color:inherit;text-decoration:none}.crpe-card-body h3 a:hover{text-decoration:underline}.crpe-meta{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 14px}.crpe-meta span{display:inline-flex;align-items:center;padding:7px 10px;border-radius:999px;background:rgba(31,77,58,.07);color:#40554c;font-size:.86rem;font-weight:650}.crpe-card-body p{margin:0 0 20px;color:var(--crpe-muted);line-height:1.62}.crpe-button{margin-top:auto;display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:11px 18px;border-radius:999px;background:var(--crpe-primary);color:#fff!important;text-decoration:none;font-weight:800;box-shadow:0 10px 20px rgba(31,77,58,.18)}.crpe-button:hover{filter:brightness(.95);text-decoration:none;color:#fff!important}
.crpe-empty{padding:24px;border-radius:18px;background:#fff;border:1px solid var(--crpe-border);color:var(--crpe-muted)}.crpe-past-events{margin-top:44px}.crpe-past-events h3{margin:0 0 16px;color:var(--crpe-primary);font-size:1.65rem}.crpe-past-list{display:grid;gap:10px}.crpe-event-row{display:flex;align-items:center;gap:14px;padding:14px;border-radius:16px;background:#fff;border:1px solid var(--crpe-border);text-decoration:none!important;color:var(--crpe-text)!important;transition:background .2s ease,transform .2s ease}.crpe-event-row:hover{background:var(--crpe-soft);transform:translateX(3px)}.crpe-row-date{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:58px;height:58px;border-radius:14px;background:var(--crpe-primary);color:#fff}.crpe-row-date strong{font-size:1.35rem;line-height:1}.crpe-row-date em{font-style:normal;font-size:.68rem;text-transform:uppercase;font-weight:800;letter-spacing:.08em}.crpe-row-main{display:flex;flex-direction:column;gap:3px}.crpe-row-main strong{font-size:1rem;color:var(--crpe-primary)}.crpe-row-main small{color:var(--crpe-muted)}
@media(max-width:980px){.crpe-event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.crpe-event-card.is-featured{grid-column:span 2}}
@media(max-width:680px){.crpe-events-hero{padding:26px 22px;border-radius:20px}.crpe-event-grid{grid-template-columns:1fr}.crpe-event-card.is-featured{grid-column:span 1}.crpe-card-body{padding:20px}.crpe-meta span{font-size:.82rem}.crpe-button{width:100%}}

/* Single event/post enhancement */
.crpe-single-event{--crpe-primary:#1f4d3a;--crpe-soft:rgba(31,77,58,.08);--crpe-border:rgba(31,77,58,.16);--crpe-text:#25352f;--crpe-muted:#66746e;display:grid;grid-template-columns:minmax(0,1.05fr) minmax(320px,.95fr);gap:28px;align-items:stretch;margin:0 0 34px;color:var(--crpe-text)}
.crpe-single-media{position:relative;overflow:hidden;min-height:360px;border-radius:26px;background:var(--crpe-soft);box-shadow:0 18px 42px rgba(31,77,58,.12)}
.crpe-single-media img{display:block;width:100%;height:100%;min-height:360px;object-fit:cover}
.crpe-single-placeholder{width:100%;height:100%;min-height:360px;background:linear-gradient(135deg,rgba(31,77,58,.2),rgba(31,77,58,.06))}
.crpe-single-date{position:absolute;left:22px;top:22px;display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:82px;min-height:82px;padding:10px;border-radius:22px;background:#fff;color:var(--crpe-primary);box-shadow:0 16px 32px rgba(0,0,0,.22);text-align:center}
.crpe-single-date strong{font-size:2.1rem;line-height:1}.crpe-single-date em{font-style:normal;font-size:.8rem;font-weight:850;text-transform:uppercase;letter-spacing:.12em}
.crpe-single-post .crpe-single-media{min-height:420px}.crpe-single-post .crpe-single-media img,.crpe-single-post .crpe-single-placeholder{min-height:420px}
.crpe-single-details{position:relative;overflow:hidden;padding:32px;border-radius:26px;background:linear-gradient(135deg,rgba(31,77,58,.1),rgba(255,255,255,.96));border:1px solid var(--crpe-border);box-shadow:0 18px 42px rgba(31,77,58,.1)}
.crpe-single-details:after{content:"";position:absolute;right:-72px;top:-72px;width:190px;height:190px;border-radius:50%;background:rgba(31,77,58,.07);pointer-events:none}
.crpe-single-details h2{position:relative;margin:0 0 20px;color:var(--crpe-primary);font-size:clamp(1.85rem,3vw,2.6rem);line-height:1.08}

.crpe-single-description{position:relative;margin:-4px 0 22px;padding:18px 20px;border-radius:18px;background:rgba(255,255,255,.78);border:1px solid var(--crpe-border);color:var(--crpe-text);line-height:1.7}
.crpe-single-description p{margin:0 0 1em;color:var(--crpe-text);line-height:1.7}.crpe-single-description p:last-child{margin-bottom:0}
.crpe-single-description a{color:var(--crpe-primary);font-weight:800}.crpe-single-description ul,.crpe-single-description ol{margin:0 0 1em 1.25em}.crpe-single-description li{margin:.25em 0}
.crpe-single-meta-list{position:relative;display:grid;gap:12px;margin:0 0 24px}.crpe-single-meta-list div{padding:16px 18px;border-radius:18px;background:#fff;border:1px solid var(--crpe-border)}
.crpe-single-meta-list span{display:block;margin:0 0 4px;color:var(--crpe-muted);font-size:.78rem;font-weight:850;text-transform:uppercase;letter-spacing:.1em}.crpe-single-meta-list strong{display:block;color:var(--crpe-primary);font-size:1.08rem;line-height:1.35}
.crpe-single-actions{position:relative;display:flex;flex-wrap:wrap;gap:12px;align-items:center}.crpe-secondary-button{display:inline-flex;align-items:center;justify-content:center;width:max-content;padding:11px 18px;border-radius:999px;background:#fff;color:var(--crpe-primary)!important;text-decoration:none!important;font-weight:800;border:1px solid var(--crpe-border)}.crpe-secondary-button:hover{background:var(--crpe-soft);color:var(--crpe-primary)!important}
@media(max-width:900px){.crpe-single-event{grid-template-columns:1fr}.crpe-single-media,.crpe-single-media img,.crpe-single-placeholder{min-height:300px}}
@media(max-width:600px){.crpe-single-event{gap:18px}.crpe-single-details{padding:24px}.crpe-single-media,.crpe-single-media img,.crpe-single-placeholder{min-height:240px}.crpe-single-actions .crpe-button,.crpe-secondary-button{width:100%}}


/* Hide the theme's default single-post featured image on event posts.
   The event image is already displayed inside the custom Craneridge event panel. */
body.single-post.crpe-is-enhanced-post-single .fusion-post-slideshow,
body.single-post.crpe-is-enhanced-post-single .fusion-flexslider:not(.crpe-single-event .fusion-flexslider),
body.single-post.crpe-is-enhanced-post-single .single-featured-image-header,
body.single-post.crpe-is-enhanced-post-single .post-slideshow,
body.single-post.crpe-is-enhanced-post-single .post-featured-image,
body.single-post.crpe-is-enhanced-post-single .entry-thumb,
body.single-post.crpe-is-enhanced-post-single .entry-featured-image,
body.single-post.crpe-is-enhanced-post-single .fusion-single-post-slideshow {
	display: none !important;
}

body.single-post.crpe-is-enhanced-post-single .crpe-single-event .crpe-single-media img {
	display: block !important;
}

.crpe-single-placeholder {
	background: #f5f7f4;
	border-radius: 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 420px;
	padding: 40px;
}

.crpe-single-placeholder img {
	max-width: 220px;
	width: 100%;
	height: auto;
	opacity: 0.18;
	object-fit: contain;
}