/*
 * CSI Events: single event page (loaded on single events only).
 * Styles for the HTML that the CSI Events shortcodes output, for the saved sections editors add to the event
 * content (Agenda / Speakers / Partners), and for The Events Calendar's page wrapper.
 * Everything built with Elementor widgets in the "CSI Event – Single" template is styled in the widgets themselves.
 * (Moved here from the template's page Custom CSS in 1.7.0.)
 */

/* Full width with Hello Elementor: The Events Calendar wraps single events in a 1048px box */
body.single-tribe_events #tribe-events-pg-template:has(.elementor-location-single){max-width:none!important;width:100%!important;padding:0!important;margin:0!important}

/* Keyboard focus */
body.single-tribe_events a:focus-visible,body.single-tribe_events button:focus-visible,body.single-tribe_events summary:focus-visible,body.single-tribe_events input:focus-visible{outline:3px solid #FFCB32;outline-offset:2px}

/* Info bar [csi_ev_infobar] */
.csi-evinfo{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid #D8E6EA;padding:4px 0}
.csi-evinfo__list{display:grid;grid-template-columns:repeat(4,minmax(0,auto));gap:0;margin:0;flex:1}
.csi-evinfo__list>div{padding:18px 24px 18px 0;margin-right:24px;border-right:1px solid #D8E6EA}
.csi-evinfo__list>div:last-child{border-right:0}
.csi-evinfo dt{font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:#4A6670;margin:0 0 4px}
.csi-evinfo dd{margin:0;font-weight:600;color:#0B2E38}
.csi-evinfo dd a{color:#0B2E38;text-decoration:underline}
@media (max-width:1024px){.csi-evinfo__list{grid-template-columns:repeat(2,minmax(0,1fr))}.csi-evinfo__list>div{border-right:0;border-bottom:1px solid #D8E6EA;margin-right:0}}
@media (max-width:767px){.csi-evinfo__list{grid-template-columns:1fr}}
.csi-evinfo__cal{position:relative}
.csi-evinfo__cal summary{list-style:none;cursor:pointer;padding:10px 16px;border:1px solid #137288;border-radius:10px;color:#137288;font-weight:600;font-size:14px;background:#fff}
.csi-evinfo__cal summary::-webkit-details-marker{display:none}
.csi-evinfo__cal[open] summary{background:#137288;color:#fff}
.csi-evinfo__cal ul{position:absolute;right:0;top:calc(100% + 6px);z-index:20;list-style:none;margin:0;padding:8px;background:#fff;border:1px solid #D8E6EA;border-radius:12px;box-shadow:0 12px 30px rgba(11,46,56,.12);min-width:240px}
.csi-evinfo__cal li a{display:block;padding:8px 10px;border-radius:8px;color:#0B2E38}
.csi-evinfo__cal li a:hover{background:#F3F8FA}
@media (max-width:767px){.csi-evinfo__cal ul{left:0;right:auto}}
@media (max-width:767px){.csi-evinfo{flex-direction:column;align-items:stretch}.csi-evinfo__list>div{padding-right:0}.csi-evinfo__cal{margin:4px 0 12px}.csi-evinfo__cal summary{display:inline-block}}

/* Other ways to register [csi_ev_register_alt] */
.csi-evalt{padding:18px 22px;color:#0B2E38}
.csi-evalt p{margin:0 0 12px}

/* Link chips (venue, organiser, online) */
.csi-evchip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border:1px solid #D8E6EA;border-radius:999px;background:#fff;color:#0B2E38!important;font-size:14px;font-weight:600;text-decoration:none;line-height:1.3}
.csi-evchip:hover,.csi-evchip:focus-visible{border-color:#137288;color:#137288!important}

/* Venue card [csi_ev_venue] */
.csi-evvenue2{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);border:1px solid #D8E6EA;border-radius:20px;overflow:hidden;background:#fff}
.csi-evvenue2__info{padding:26px 26px 24px;display:flex;flex-direction:column;gap:12px}
.csi-evvenue2__name{margin:0;font-size:22px;line-height:1.25;font-weight:700;color:#0B2E38}
.csi-evvenue2__addr{font-style:normal;color:#4A6670;line-height:1.55;margin:0}
.csi-evvenue2__access{background:#F3F8FA;border-radius:12px;padding:12px 14px;font-size:15px}
.csi-evvenue2__access p{margin:4px 0 0}
.csi-evvenue2__actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:6px}
.csi-evvenue2__map{min-height:280px;background:#E3F2F5}
.csi-evvenue2__map iframe{display:block;width:100%;height:100%;min-height:280px;border:0}
@media (max-width:767px){.csi-evvenue2{grid-template-columns:1fr}.csi-evvenue2__map{order:-1;min-height:220px}.csi-evvenue2__map iframe{min-height:220px}}
/* Accessibility note [csi_ev_access] */
.csi-evaccess{margin-top:8px;padding:14px 16px;background:#F3F8FA;border-radius:12px}
.csi-evaccess p{margin:4px 0 0}

/* Organiser cards [csi_ev_organiser] */
.csi-evorgs{display:flex;flex-direction:column;gap:12px}
.csi-evorgs__lead{margin:0 0 4px;color:#4A6670}
.csi-evorg2{display:flex;gap:18px;align-items:center;border:1px solid #D8E6EA;border-radius:18px;padding:18px 20px;background:#fff}
.csi-evorg2__logo{flex:0 0 64px;width:64px;height:64px;border-radius:50%;overflow:hidden;display:flex;align-items:center;justify-content:center;background:#E3F2F5;color:#0E4F5E;font-weight:800;font-size:20px}
.csi-evorg2__logo img{width:100%;height:100%;object-fit:contain;background:#fff}
.csi-evorg2__name{margin:0 0 8px;font-size:17px;font-weight:700;color:#0B2E38}
.csi-evorg2__actions{display:flex;flex-wrap:wrap;gap:8px}
@media (max-width:767px){.csi-evorg2{align-items:flex-start}.csi-evorg2__logo{flex-basis:48px;width:48px;height:48px;font-size:16px}}
.csi-evvenue2 h3.csi-evvenue2__name,.csi-evorg2 .csi-evorg2__name{color:#0B2E38!important}

/* Event details › Registration = "Hide the box" (events without tickets): no side box, the content takes the full width.
   !important: the box's display comes from Elementor's container rule (higher specificity). */
body.csi-ev-nobox .csi-tkbox{display:none!important}

/* Mobile register bar [csi_ev_mbar] */
.csi-evmbar{display:none}
@media (max-width:1024px){.csi-evmbar{position:fixed;left:0;right:0;bottom:0;z-index:999;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 84px 12px 20px;background:#fff;border-top:1px solid #D8E6EA;box-shadow:0 -6px 20px rgba(11,46,56,.1)}.csi-evmbar__price{font-weight:700;color:#0B2E38}body.single-tribe_events{padding-bottom:64px}}

/* Saved sections editors add to the event content: Agenda / Speakers / Partners */
.csi-agenda{padding-left:0!important;list-style:none!important;margin:0 0 8px;margin-left:0!important}
.csi-agenda li{display:grid;grid-template-columns:90px 1fr;gap:18px;padding:14px 0;border-top:1px solid #D8E6EA;margin:0;list-style:none!important}
.csi-agenda li:first-child{border-top:0}
.csi-agenda li strong:first-child{color:#137288;font-weight:700}
@media (max-width:767px){.csi-agenda li{grid-template-columns:64px 1fr;gap:12px}}
.csi-evcontent .csi-eyebrow .elementor-heading-title{font-size:12.5px!important;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#137288!important;margin:0}
.csi-evcontent .csi-evsec{border-bottom:1px solid #D8E6EA}
.csi-evcontent .csi-evsec:last-child{border-bottom:0;padding-bottom:0!important}
.csi-evsec__h2 .elementor-heading-title{font-size:28px;line-height:1.2;font-weight:700;color:#0B2E38;margin:0 0 10px}
.csi-spk .elementor-image-box-img{width:100%!important;margin:0 0 12px!important}
.csi-spk .elementor-image-box-img img{width:100%;aspect-ratio:1;object-fit:cover;border-radius:16px;background:#F3F8FA}
.csi-spk .elementor-image-box-title{font-size:16px!important;font-weight:700;color:#0B2E38;margin:0 0 4px!important}
.csi-spk .elementor-image-box-description{font-size:14px;color:#4A6670}
.csi-spk .elementor-image-box-wrapper{text-align:left}
.csi-partner{display:flex;align-items:center;justify-content:center;border:1px solid #D8E6EA;border-radius:12px;background:#fff;padding:14px;min-height:88px}
.csi-partner img{max-height:60px;width:auto!important;object-fit:contain}
.csi-partner-cta{background:#0E4F5E;border-radius:16px;color:#fff;margin-top:10px}
.csi-partner-cta p{margin:0;color:#fff}
.csi-partner-cta .elementor-button{background:#FFCB32!important;color:#0B2E38!important;border-radius:10px;font-weight:700}
.csi-partner-cta .elementor-button:hover{background:#fff!important}
