/* ACAP Events Hub 1.3 — contained EventPrime event details.
   All visual rules are scoped to real single-event views only.
   Do not expand Miniworld's content-box or rewrite EventPrime's grid geometry. */
body.acap-ev-single-active {
 --acap-event-ink:#30416b;
 --acap-event-muted:#566581;
 --acap-event-violet:#9563e7;
 --acap-event-pink:#ec57b0;
 --acap-event-border:#e5d6fa;
}
body.acap-ev-single-active .page-main-header{display:none!important}
body.acap-ev-single-active #innerpage-box{
 background:linear-gradient(130deg,#fff9ef,#f6efff 51%,#eaf6ff)!important;
 padding-top:28px!important;padding-bottom:62px!important;
}
/* CRITICAL: Limit EventPrime itself, not the entire WordPress article.
   Former versions widened #content-box and .entry-content.row to 100%,
   which caused the almost full-page empty lavender rectangle. */
body.acap-ev-single-active #ep_single_frontend_view_container,
body.acap-ev-single-active .acap-event-surface {
 display:block!important;
 width:calc(100% - 32px)!important;
 max-width:1080px!important;
 min-width:0!important;
 margin:0 auto 28px!important;
 padding:clamp(18px,2.7vw,35px)!important;
 background:#fff!important;
 border:2px solid #ead9fc!important;
 border-radius:28px!important;
 box-shadow:0 15px 38px rgba(92,66,146,.13)!important;
 color:var(--acap-event-ink)!important;
 box-sizing:border-box!important;
 overflow:visible;
}
/* WordPress/theme sometimes wraps the detail page in a row/column.
   Keep EventPrime's own layout intact, but stop its root escaping its card. */
body.acap-ev-single-active #ep_single_event_detail_page_content{
 width:100%!important;max-width:100%!important;min-width:0!important;
 margin:0 auto!important;padding:0!important;
 font-family:inherit!important;color:var(--acap-event-ink)!important;
 background:transparent!important;
 box-sizing:border-box;
}
body.acap-ev-single-active #ep_single_event_detail_page_content *,
body.acap-ev-single-active .acap-event-surface *{box-sizing:border-box}
body.acap-ev-single-active #ep_single_event_detail_page_content .ep-row,
body.acap-ev-single-active #ep_single_event_detail_page_content .ep-box-row,
body.acap-ev-single-active #ep_single_event_detail_page_content .ep-d-flex{max-width:100%;min-width:0}
/* Small top navigation is part of the event card, not a disconnected second hero. */
body.acap-ev-single-active .acap-ev-single-intro{
 display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
 gap:12px 20px;padding:14px 18px;margin:0 0 24px;
 background:linear-gradient(100deg,#e7f5ff,#fff2d6 49%,#f8e4ff);
 border:1px solid #e8d7ff;border-radius:17px;
 color:#3b4770!important;
}
body.acap-ev-single-active .acap-ev-single-eyebrow{
 margin:0!important;color:#63469b!important;font-weight:850!important;
 font-size:14px!important;line-height:1.45!important;letter-spacing:0;
}
body.acap-ev-single-active .acap-ev-single-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
body.acap-ev-single-active .acap-ev-single-button{
 display:inline-flex!important;align-items:center;justify-content:center;
 min-height:40px;padding:9px 15px!important;border-radius:999px!important;
 background:#fff!important;color:#6c47a5!important;border:2px solid #d7c2f5!important;
 text-decoration:none!important;font-size:13px!important;line-height:1.25!important;
 font-weight:800!important;box-shadow:none!important;
}
body.acap-ev-single-active .acap-ev-single-button:hover{background:#f4eafd!important;border-color:#a875ee!important}
/* EventPrime's existing cover image: center, preserve full artwork and avoid oversized banners. */
body.acap-ev-single-active #ep_single_event_image{
 max-width:100%!important;min-width:0!important;
 margin:0 auto 23px!important;text-align:center!important;
}
body.acap-ev-single-active #ep_single_event_image .ep-single-event-slide-container{
 max-width:100%!important;min-width:0!important;
 overflow:hidden!important;border-radius:20px!important;
 background:linear-gradient(120deg,#fff7e6,#f2eaff)!important;
}
body.acap-ev-single-active #ep_single_event_image .ep-single-event-slide-container img,
body.acap-ev-single-active #ep_single_event_detail_page_content .ep-event-image img{
 display:inline-block;max-width:100%!important;height:auto!important;
 max-height:470px!important;object-fit:contain!important;border-radius:18px!important;
}
/* Typography: readable without touching booking form inputs or QR codes. */
body.acap-ev-single-active #ep-sl-event-name,
body.acap-ev-single-active #ep_single_event_detail_page_content .ep-event-title,
body.acap-ev-single-active #ep_single_event_detail_page_content .ep-single-event-title{
 font-family:inherit!important;font-size:clamp(26px,3.3vw,39px)!important;
 line-height:1.18!important;font-weight:900!important;letter-spacing:-.015em!important;
 color:#303f68!important;margin:12px 0 18px!important;text-transform:none!important;
}
body.acap-ev-single-active #ep_single_event_detail_page_content p,
body.acap-ev-single-active #ep_single_event_detail_page_content li{
 color:#485879!important;line-height:1.75!important;
 font-size:clamp(15px,1.2vw,17px)!important;overflow-wrap:break-word;
}
/* Prevent Miniworld's list-item flex rule breaking formatted inline words. */
body.acap-ev-single-active #ep_single_event_detail_page_content ul li,
body.acap-ev-single-active #ep_single_event_detail_page_content ol li{
 display:list-item!important;flex:none!important;white-space:normal!important;
}
body.acap-ev-single-active #ep_single_event_detail_page_content h2,
body.acap-ev-single-active #ep_single_event_detail_page_content h3,
body.acap-ev-single-active #ep_single_event_detail_page_content h4{
 font-family:inherit!important;color:#364575!important;
 line-height:1.3!important;font-weight:850!important;
}
/* Existing EventPrime detail cards, right-hand box and embedded QR remain functional. */
body.acap-ev-single-active #ep_single_event_detail_page_content :is(.ep-card,.ep-event-info,.ep-event-details,.ep-event-info-wrap,.ep-event-venue,.ep-event-attendee-note,.ep-event-organizers){
 border-radius:18px!important;border-color:#eadcf9!important;
 box-shadow:0 5px 18px rgba(95,73,156,.08)!important;
}
body.acap-ev-single-active #ep_single_event_detail_page_content :is(.ep-bg-light,.ep-bg-light-primary,.ep-bg-secondary-subtle){background:#f9f5ff!important}
body.acap-ev-single-active #ep_single_event_detail_page_content :is(.ep-btn-primary,.ep-btn-dark,#ep_single_event_ticket_now_btn){
 background:linear-gradient(100deg,#e950aa,#7961e9)!important;color:#fff!important;
 border:1px solid #9a70e2!important;border-radius:13px!important;
 padding:11px 17px!important;min-height:42px;font-weight:800!important;
}
body.acap-ev-single-active #ep_single_event_detail_page_content a:not(.ep-btn-primary):not(.ep-btn-dark){color:#7147b4}
body.acap-ev-single-active .acap-ev-single-button:focus-visible,
body.acap-ev-single-active #ep_single_event_detail_page_content :is(button,a,input,select,textarea):focus-visible,
body.acap-ev-single-active .acap-ev-single-footer-link:focus-visible{
 outline:3px solid #9964e9!important;outline-offset:3px!important;
}
body.acap-ev-single-active #ep_single_event_detail_page_content :is(input,textarea,select){max-width:100%;border-radius:11px}
/* Brief footer stays INSIDE the event card, not far below in a new empty section. */
body.acap-ev-single-active .acap-ev-single-footer{
 display:flex;align-items:flex-start;gap:13px;max-width:100%;
 margin:28px 0 0;padding:17px 19px;
 background:linear-gradient(110deg,#f3ecff,#eaf6ff 70%,#fff7e8);
 border:1px solid #e4d3f8;border-radius:18px;color:#38466f;
}
body.acap-ev-single-active .acap-ev-single-footer-icon{font-size:28px;line-height:1.2}
body.acap-ev-single-active .acap-ev-single-footer-text h2{font-size:18px!important;line-height:1.25!important;color:#374471!important;margin:0 0 7px!important;font-weight:850!important}
body.acap-ev-single-active .acap-ev-single-footer-text p{color:#536282!important;font-size:14px!important;line-height:1.55!important;margin:0 0 7px!important}
body.acap-ev-single-active .acap-ev-single-footer-link{color:#7042b1!important;font-weight:800!important;text-decoration:none!important}
@media(max-width:760px){
 body.acap-ev-single-active #innerpage-box{padding-top:13px!important;padding-bottom:34px!important}
 body.acap-ev-single-active #ep_single_frontend_view_container,
 body.acap-ev-single-active .acap-event-surface{width:calc(100% - 18px)!important;padding:14px!important;border-radius:19px!important}
 body.acap-ev-single-active .acap-ev-single-intro{padding:13px 14px;gap:10px;margin-bottom:17px}
 body.acap-ev-single-active .acap-ev-single-actions{width:100%}
 body.acap-ev-single-active .acap-ev-single-button{flex:1;min-width:0;font-size:12px!important}
 body.acap-ev-single-active #ep_single_event_image .ep-single-event-slide-container img{max-height:340px!important}
 body.acap-ev-single-active .acap-ev-single-footer{padding:14px;gap:10px}
}
@media(prefers-reduced-motion:reduce){
 body.acap-ev-single-active .acap-ev-single-button{transition:none!important}
}

/* ================================================================
 ACAP Events Hub v1.4 - pastel event hero, centered big artwork,
 optional display QR card. Do not change ticket, booking, or calendar data.
 ================================================================ */
body.acap-ev-single-active #innerpage-box {padding-top:12px!important}
body.acap-ev-single-active #ep_single_frontend_view_container,
body.acap-ev-single-active .acap-event-surface {max-width:1120px!important}
body.acap-ev-single-active .acap-ev-single-intro{
  position:relative!important;isolation:isolate;overflow:hidden!important;
  display:grid!important;grid-template-columns:minmax(0,1fr) auto!important;
  align-items:center!important;column-gap:24px!important;row-gap:14px!important;
  min-height:165px!important;padding:26px clamp(20px,3.1vw,38px)!important;
  border:2px solid #e8d4f5!important;border-radius:27px!important;
  margin:0 0 27px!important;
  background:radial-gradient(circle at 5% 7%,#dcefff 0,transparent 33%),
  radial-gradient(circle at 99% 93%,#ffdbed 0,transparent 38%),
  linear-gradient(115deg,#f4e9ff 0%,#fff3d4 51%,#e5f3ff 100%)!important;
  box-shadow:0 9px 24px rgba(94,74,143,.09)!important;
}
body.acap-ev-single-active .acap-ev-single-intro::after{
 content:'';height:6px;position:absolute;bottom:0;left:0;right:0;
 background:linear-gradient(90deg,#ef6cb4,#ab70f0,#6bb8f0,#aee8d5)!important;
}
body.acap-ev-single-active .acap-ev-single-hero-copy{position:relative;z-index:1;min-width:0}
body.acap-ev-single-active .acap-ev-single-eyebrow{
 display:inline-flex!important;width:auto!important;margin:0 0 10px!important;
 background:#fff!important;padding:6px 13px!important;border:1px solid #ebd9fa!important;
 border-radius:999px!important;color:#7752a9!important;font-weight:850!important;
 font-size:12px!important;line-height:1.25!important;box-shadow:0 4px 10px #9470a718!important
}
body.acap-ev-single-active .acap-ev-single-heading{
 color:#30416b!important;font-weight:900!important;font-size:clamp(27px,3.1vw,38px)!important;
 line-height:1.14!important;letter-spacing:-.028em!important;margin:0 0 8px!important;
 text-wrap:balance
}
body.acap-ev-single-active .acap-ev-single-description{
 color:#52617c!important;margin:0!important;max-width:590px!important;
 font-size:clamp(13px,1.3vw,16px)!important;line-height:1.55!important
}
body.acap-ev-single-active .acap-ev-single-actions{
 position:relative;z-index:1;display:flex!important;gap:9px!important;
 flex-wrap:wrap!important;justify-content:flex-end!important
}
body.acap-ev-single-active .acap-ev-single-button{
 min-height:43px!important;box-shadow:0 4px 12px rgba(96,69,139,.09)!important;
}
body.acap-ev-single-active .acap-ev-single-button:first-child{
 background:linear-gradient(110deg,#e957ac,#8370ee)!important;
 color:#fff!important;border-color:transparent!important;
}
body.acap-ev-single-active .acap-ev-single-confetti{
 position:absolute;right:25%;top:-5px;opacity:.22;font-size:26px;
 pointer-events:none;white-space:nowrap;transform:rotate(-8deg)
}
/* EventPrime may wrap featured artwork in half-width grid columns.
 Enlarge ONLY its image column, preserving booking and attendee columns. */
body.acap-ev-single-active #ep_single_event_detail_page_content .acap-ev-image-column,
body.acap-ev-single-active #ep_single_event_detail_page_content #ep_single_event_image{
 flex:0 0 100%!important;max-width:100%!important;width:100%!important;
 min-width:0!important;margin-left:auto!important;margin-right:auto!important;
}
body.acap-ev-single-active #ep_single_event_detail_page_content #ep_single_event_image{
 display:flex!important;align-items:center!important;justify-content:center!important;
 flex-direction:column!important;margin-bottom:28px!important;text-align:center!important;
}
body.acap-ev-single-active #ep_single_event_image .ep-single-event-slide-container,
body.acap-ev-single-active #ep_single_event_image .ep-single-event-slide-container :is(.swiper,.swiper-container,.slick-list),
body.acap-ev-single-active #ep_single_event_image .ep-single-event-slide-container :is(.swiper-wrapper,.slick-track),
body.acap-ev-single-active #ep_single_event_image .ep-single-event-slide-container :is(.swiper-slide,.slick-slide){
 max-width:100%!important;width:100%!important;min-width:0!important;
}
body.acap-ev-single-active #ep_single_event_image .ep-single-event-slide-container{
 display:block!important;max-width:880px!important;width:100%!important;
 margin:0 auto!important;padding:7px!important;
 border:2px solid #e5d5fa!important;border-radius:25px!important;
 background:linear-gradient(120deg,#fff6e6,#f4eaff,#ebf7ff)!important;
 box-shadow:0 11px 27px rgba(89,74,140,.13)!important;
 overflow:hidden!important;
}
body.acap-ev-single-active #ep_single_event_image .ep-single-event-slide-container img,
body.acap-ev-single-active #ep_single_event_detail_page_content .ep-event-image img{
 display:block!important;width:100%!important;max-width:100%!important;
 height:auto!important;max-height:none!important;
 object-fit:contain!important;object-position:center center!important;
 margin:0 auto!important;border-radius:16px!important;
}
body.acap-ev-single-active #ep_single_event_image .ep-single-event-slide-container img{
 aspect-ratio:auto!important;
}
body.acap-ev-single-active .acap-ev-qr-hidden{display:none!important}
@media(max-width:760px){
 body.acap-ev-single-active .acap-ev-single-intro{
   grid-template-columns:1fr!important;text-align:center!important;
   min-height:0!important;padding:23px 16px 20px!important;border-radius:20px!important;
   margin-bottom:21px!important;
 }
 body.acap-ev-single-active .acap-ev-single-eyebrow{justify-content:center!important}
 body.acap-ev-single-active .acap-ev-single-actions{justify-content:center!important}
 body.acap-ev-single-active .acap-ev-single-button{flex:1 1 auto!important}
 body.acap-ev-single-active .acap-ev-single-confetti{display:none!important}
 body.acap-ev-single-active #ep_single_event_image .ep-single-event-slide-container{
   border-radius:19px!important;padding:5px!important;
 }
 body.acap-ev-single-active #ep_single_event_image .ep-single-event-slide-container img{border-radius:12px!important}
}

/* ACAP Events Hub v1.7 Add to Calendar */
.acap-cal-wrap{font-family:inherit;position:relative;z-index:4;min-width:170px}
.acap-cal-menu{position:relative;max-width:100%}
.acap-cal-toggle{list-style:none!important;cursor:pointer;display:flex!important;align-items:center;justify-content:center;
 padding:11px 18px!important;min-height:45px;border-radius:999px!important;
 background:linear-gradient(110deg,#ea54b0,#7867e8)!important;color:#fff!important;
 font:inherit!important;font-size:14px!important;font-weight:800!important;text-align:center!important;
 border:2px solid transparent!important;box-shadow:0 5px 16px #8261bf24}
.acap-cal-toggle::-webkit-details-marker{display:none}
.acap-cal-toggle::after{content:'⌄';margin-left:9px;font-size:18px;line-height:12px}
.acap-cal-menu[open] .acap-cal-toggle::after{transform:rotate(180deg)}
.acap-cal-toggle:focus-visible,.acap-cal-item:focus-visible{outline:3px solid #6b4bae!important;outline-offset:3px!important}
.acap-cal-options{display:grid;gap:3px;position:absolute;right:0;top:calc(100% + 7px);
 min-width:max(230px,100%);max-width:min(300px,90vw);z-index:70;padding:8px;
 border:2px solid #e1cefa;border-radius:17px;background:#fff;box-shadow:0 14px 32px #4b3b782f}
.acap-cal-item{display:block!important;padding:11px 13px!important;border-radius:10px!important;
 background:#fff;color:#504074!important;text-decoration:none!important;
 font-size:14px!important;font-weight:750!important;line-height:1.4!important}
.acap-cal-item:hover{background:#f5edff!important}
.ev-month-row .acap-cal-wrap{margin-top:10px;max-width:220px;width:100%}
.ev-month-row .acap-cal-toggle{min-height:39px;padding:9px 12px!important;font-size:12px!important}
.ev-month-row .acap-cal-options{right:0}
@media(max-width:640px){.acap-cal-options{right:0;left:auto;min-width:min(225px,85vw)} }

body.acap-ev-single-active .acap-ev-calendar-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;
 gap:15px 22px;margin:0 0 22px;padding:17px 19px;background:linear-gradient(110deg,#f9eaff,#e8f4ff 65%,#fff3df);
 border:2px solid #e6d4fa;border-radius:20px}
body.acap-ev-single-active .acap-ev-calendar-copy{display:grid;gap:4px;flex:1 1 230px;color:#384870!important}
body.acap-ev-single-active .acap-ev-calendar-copy strong{font-size:17px!important;font-weight:850!important}
body.acap-ev-single-active .acap-ev-calendar-copy span{font-size:13px!important;line-height:1.5!important;color:#586784!important}
@media(max-width:600px){body.acap-ev-single-active .acap-ev-calendar-row{padding:14px;gap:12px}
 body.acap-ev-single-active .acap-ev-calendar-row .acap-cal-wrap{width:100%}
 body.acap-ev-single-active .acap-ev-calendar-row .acap-cal-toggle{width:100%}}

/* Calendar remains useful with playful single-event styling disabled. */
body:not(.acap-ev-single-active) .acap-ev-calendar-row{display:flex;flex-wrap:wrap;align-items:center;gap:15px;
padding:15px;margin:15px 0;background:#f5eeff;border:1px solid #e0ccfa;border-radius:16px}
body:not(.acap-ev-single-active) .acap-ev-calendar-copy{display:grid;gap:4px;flex:1 1 230px;font-family:inherit}
body:not(.acap-ev-single-active) .acap-ev-calendar-copy span{font-size:13px}
