/*
 * IWC Events: the events list (/events/, The Events Calendar list view) and the
 * event page. Follows IWC Events.dc.html and IWC Event Detail.dc.html.
 * Markup: inc/events.php, tribe/events/v2/list/event.php, tribe-events/single-event.php.
 * Loaded only on events pages (inc/events.php).
 */

/* ---------- Shared bits ---------- */
.iwc-chrome .iwc-ds .iwc-dot { width: 8px; height: 8px; border-radius: 999px; display: inline-block; flex: none; }
.iwc-ev__label { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #8A7D9C; }
.iwc-ev__label--accent { color: var(--ev-accent, #7943D5); }
.iwc-ev__live { background: #332345; color: #FFFFFF; font-size: 12px; font-weight: 600; padding: 4px 11px; border-radius: 999px; display: inline-flex; gap: 7px; align-items: center; white-space: nowrap; }
.iwc-ev__live > span { width: 7px; height: 7px; border-radius: 999px; background: #F6E3A1; }
.iwc-ev__offer { display: block; background: #FFF4D6; border: 1px solid rgba(212, 175, 55, 0.55); color: #6E5410; font-size: 13px; font-weight: 600; padding: 8px 11px; border-radius: 12px; line-height: 1.4; }
.iwc-chrome #main .iwc-ds a { text-decoration: none; }

/* ---------- List page: layout around The Events Calendar ---------- */
.iwc-chrome.post-type-archive-tribe_events #main #content-wrap,
.iwc-chrome.tax-tribe_events_cat #main #content-wrap { padding-top: 0; max-width: var(--iwc-max); }
.iwc-chrome .tribe-events-view--list .tribe-events-l-container { padding-top: clamp(24px, 3vw, 36px) !important; padding-bottom: 0 !important; }
/* The design has no search bar or date bar on the list: the tabs and the format filter replace them. */
.iwc-chrome .tribe-events-view--list :is(.tribe-events-c-events-bar, .tribe-events-c-top-bar) { display: none !important; }
/* No side margins: on phones The Events Calendar pulls this header out to the
 * screen edges (negative margins), which with width:100% pushed the title and
 * tabs against the left edge. */
.iwc-chrome .tribe-events-view--list .tribe-events-header { margin: 0 !important; padding: 0; max-width: none; width: 100%; display: block; }

/* Page header: title, tab cards, format filter. */
.iwc-chrome #main .iwc-evhero { width: 100%; }
.iwc-evhero { display: flex; flex-direction: column; gap: 22px; margin-bottom: clamp(20px, 2.5vw, 28px); font-family: var(--iwc-font-body); }
.iwc-evhero__top { display: flex; flex-wrap: wrap; gap: 12px 40px; align-items: flex-end; justify-content: space-between; }
.iwc-evhero__intro { display: flex; flex-direction: column; gap: 12px; max-width: 640px; }
.iwc-evhero__eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: #7943D5; }
.iwc-chrome #main .iwc-evhead { font-family: var(--iwc-font-display) !important; font-weight: 600; font-size: clamp(34px, 4.8vw, 56px) !important; line-height: 1.05 !important; margin: 0 !important; letter-spacing: -0.02em !important; text-transform: none !important; color: #332345; text-wrap: balance; }
.iwc-evhead em { font-style: italic; color: #7943D5; }
.iwc-evhero__lead { font-size: 17px; line-height: 1.65; color: #5E5270; margin: 0; max-width: 440px; text-wrap: pretty; }

.iwc-chrome #main .iwc-evtabs { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 12px; width: 100%; }
.iwc-chrome #main a.iwc-evtab, .iwc-evtab {
	border-radius: 22px; padding: 18px 22px; display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 4px 16px; align-items: center;
	background: #FFFFFF; border: 1.5px solid rgba(74, 46, 122, 0.14); color: #332345; transition: background .2s, border-color .2s, box-shadow .2s;
}
.iwc-chrome #main .iwc-evtab.is-on { background: #332345; border-color: #332345; box-shadow: 0 14px 30px rgba(51, 35, 69, 0.18); }
.iwc-chrome #main .iwc-evtab--free.is-on { background: #FFF8E6; border-color: #D4AF37; box-shadow: 0 14px 30px rgba(156, 122, 33, 0.16); }
.iwc-evtab:not(.is-on):hover { border-color: rgba(121, 67, 213, 0.45); }
.iwc-evtab[aria-disabled="true"] { opacity: .7; cursor: default; }
.iwc-evtab__head { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; }
.iwc-evtab__name { font-family: var(--iwc-font-display); font-size: 24px; font-weight: 600; line-height: 1.2; }
.iwc-evtab__pill { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; padding: 4px 10px; border-radius: 999px; background: #EDE7F7; color: #7943D5; }
.iwc-evtab--free .iwc-evtab__pill { background: #FFF4D6; color: #9C7A21; }
.iwc-evtab__count { grid-row: span 2; font-family: var(--iwc-font-display); font-size: 40px; font-weight: 600; line-height: 1; }
.iwc-evtab--free .iwc-evtab__count { color: #9C7A21; }
.iwc-evtab__sub { font-size: 14px; line-height: 1.5; color: #5E5270; }
.iwc-evtab.is-on:not(.iwc-evtab--free) :is(.iwc-evtab__name, .iwc-evtab__count) { color: #FFFFFF; }
.iwc-evtab.is-on:not(.iwc-evtab--free) .iwc-evtab__sub { color: #D8CFE6; }
.iwc-evtab.is-on:not(.iwc-evtab--free) .iwc-evtab__pill { background: #7943D5; color: #FFFFFF; }
.iwc-evtab:focus-visible { outline: 3px solid #C9972E; outline-offset: 3px; }

.iwc-evfilter { display: flex; flex-wrap: wrap; gap: 10px 18px; align-items: center; justify-content: space-between; }
.iwc-evfilter__modes { display: flex; flex-wrap: wrap; gap: 8px; }
.iwc-chrome #main .iwc-evmode {
	all: unset; box-sizing: border-box; cursor: pointer; display: inline-flex; align-items: center; gap: 8px; font-family: var(--iwc-font-body); font-size: 14px; font-weight: 600;
	padding: 9px 16px; border-radius: 999px; background: #FFFFFF; color: #332345; border: 1.5px solid rgba(74, 46, 122, 0.16); min-height: 40px;
}
.iwc-chrome #main .iwc-evmode.is-on { background: #332345; color: #FFFFFF; border-color: #332345; }
.iwc-chrome #main .iwc-evmode.is-on .iwc-evmode__dot[style*="332345"] { background: #F6E3A1 !important; }
.iwc-chrome #main .iwc-evmode:focus-visible { outline: 3px solid #C9972E; outline-offset: 2px; }
.iwc-evmode__dot { width: 8px; height: 8px; border-radius: 999px; }
.iwc-evfilter__result { font-size: 14px; color: #5E5270; }

/* The list. */
.iwc-chrome .tribe-events-view--list .tribe-events-calendar-list { display: flex; flex-direction: column; gap: 12px; margin: 0; padding: 0; list-style: none; }
.iwc-chrome .tribe-events-view--list .tribe-events-calendar-list__month-separator { display: flex; align-items: center; gap: 14px; margin: 14px 0 0 !important; padding: 0 !important; border: 0 !important; background: none !important; }
.iwc-chrome .tribe-events-view--list .tribe-events-calendar-list__month-separator:first-child { margin-top: 0 !important; }
.iwc-chrome .tribe-events-view--list .tribe-events-calendar-list__month-separator::after { content: ""; flex: 1; height: 1px; background: rgba(74, 46, 122, 0.14); }
.iwc-chrome .tribe-events-view--list .tribe-events-calendar-list__month-separator h3 { margin: 0 !important; }
.iwc-chrome .tribe-events-view--list .tribe-events-calendar-list__month-separator-text { font-family: var(--iwc-font-body) !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0.14em !important; text-transform: uppercase; color: #7943D5 !important; white-space: nowrap; }
.iwc-evrow { list-style: none; margin: 0; padding: 0; }
.iwc-evrow[hidden] { display: none !important; }

/* Course card. */
.iwc-chrome #main .iwc-ev { background: #FFFFFF; border: 1px solid rgba(74, 46, 122, 0.12); border-radius: 22px; overflow: hidden; display: flex; flex-wrap: wrap; font-family: var(--iwc-font-body); color: #332345; transition: box-shadow .2s, transform .2s; }
.iwc-ev:hover { box-shadow: 0 18px 40px rgba(51, 35, 69, 0.10); transform: translateY(-2px); }
.iwc-chrome #main .iwc-ev__side { flex: 1 1 130px; max-width: 100%; background: var(--ev-tint); padding: 18px 16px; display: flex; flex-wrap: wrap; gap: 12px 16px; align-items: center; justify-content: center; align-content: center; }
.iwc-chrome #main a.iwc-ev__logo { width: 88px; height: 88px; border-radius: 20px; background: #FFFFFF; box-shadow: 0 6px 18px rgba(51, 35, 69, 0.10); overflow: hidden; display: flex; align-items: center; justify-content: center; flex: 0 0 auto; }
.iwc-ev__logo-img { width: 100%; height: 100%; object-fit: contain; padding: 8px; box-sizing: border-box; }
.iwc-ev__logo-ph { width: calc(100% - 16px); height: calc(100% - 16px); border-radius: 14px; display: flex; align-items: center; justify-content: center; font-family: var(--iwc-font-display); font-size: 26px; font-weight: 600; }
.iwc-ev__date { width: 62px; height: 62px; border-radius: 14px; background: #FFFFFF; border: 1.5px solid var(--ev-accent); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; gap: 2px; flex: 0 0 auto; }
.iwc-ev__date span { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ev-accent); }
.iwc-ev__date strong { font-family: var(--iwc-font-display); font-size: 26px; font-weight: 600; color: #332345; }
.iwc-chrome #main .iwc-ev__main { flex: 999 1 360px; min-width: 0; padding: 18px clamp(18px, 2vw, 24px); display: flex; flex-direction: column; gap: 12px; }
.iwc-ev__tags { display: flex; gap: 8px 10px; align-items: center; flex-wrap: wrap; }
.iwc-ev__cat { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #FFFFFF; background: var(--ev-accent); padding: 4px 10px; border-radius: 999px; white-space: nowrap; }
.iwc-ev__tagline { font-size: 13px; font-weight: 600; color: var(--ev-accent); }
.iwc-chrome #main a.iwc-ev__title { font-family: var(--iwc-font-display); font-size: 24px; font-weight: 600; line-height: 1.2; color: #332345; text-wrap: balance; }
.iwc-chrome #main a.iwc-ev__title:hover { color: var(--ev-accent); }
.iwc-ev__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 190px), 1fr)); gap: 10px 22px; }
.iwc-ev__facts > div { display: flex; flex-direction: column; gap: 3px; min-width: 0; }
.iwc-ev__facts strong { display: flex; align-items: center; gap: 7px; font-size: 14px; line-height: 1.45; font-weight: 600; }
.iwc-ev__facts > div > span:not(.iwc-ev__label) { font-size: 13px; line-height: 1.45; color: #5E5270; }
.iwc-ev__facts .iwc-ev__label { font-size: 11px; }
.iwc-ev__days { display: flex; flex-wrap: wrap; gap: 6px; align-items: center; }
.iwc-ev__days-label { font-size: 12px; font-weight: 600; color: #5E5270; margin-right: 4px; }
.iwc-ev__day { font-size: 12px; font-weight: 600; color: var(--ev-accent); background: var(--ev-tint); padding: 4px 9px; border-radius: 8px; white-space: nowrap; }
.iwc-ev__elig { font-size: 13px; line-height: 1.5; color: #5E5270; border-top: 1px solid rgba(74, 46, 122, 0.08); padding-top: 10px; }
.iwc-ev__elig strong { color: #332345; }
.iwc-chrome #main .iwc-ev__elig a { font-weight: 600; color: #7943D5; }
.iwc-chrome #main .iwc-ev__fee { flex: 1 1 220px; max-width: 100%; background: var(--ev-tint); padding: 18px 22px; display: flex; flex-direction: column; gap: 10px; justify-content: center; }
.iwc-ev__price { font-family: var(--iwc-font-display); font-size: 34px; font-weight: 600; line-height: 1; color: #332345; }
.iwc-chrome #main .iwc-ev .iwc-btn, .iwc-chrome #main .iwc-evfree .iwc-btn, .iwc-chrome #main .iwc-evd .iwc-btn, .iwc-chrome #main .iwc-evmsg .iwc-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 11px 22px; font-size: 14px; font-weight: 600; line-height: 1.2; border-radius: 999px; white-space: nowrap; }
.iwc-chrome #main .iwc-ev__cta { width: 100%; margin-top: 4px; }
.iwc-chrome #main a.iwc-ev__more { text-align: center; font-size: 13px; font-weight: 600; color: #7943D5; }

/* Free sessions: gold cards in a grid (no month headings). */
.iwc-chrome .tribe-events-view--list:has(.iwc-evhero.is-free) .tribe-events-calendar-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 300px), 1fr)); gap: 14px; }
.iwc-chrome .tribe-events-view--list:has(.iwc-evhero.is-free) .tribe-events-calendar-list__month-separator { display: none !important; }
.iwc-chrome #main .iwc-evfree { height: 100%; background: #FFFFFF; border: 1.5px solid rgba(212, 175, 55, 0.45); border-radius: 22px; overflow: hidden; display: flex; flex-direction: column; font-family: var(--iwc-font-body); color: #332345; transition: box-shadow .2s, transform .2s; }
.iwc-evfree:hover { box-shadow: 0 18px 40px rgba(156, 122, 33, 0.14); transform: translateY(-2px); }
.iwc-chrome #main .iwc-evfree__head { background: #FFF8E6; padding: 16px 20px; display: grid; grid-template-columns: 58px minmax(0, 1fr); gap: 14px; align-items: center; border-bottom: 1px solid rgba(212, 175, 55, 0.3); }
.iwc-evfree__date { width: 58px; height: 62px; border-radius: 14px; background: var(--iwc-gold); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; gap: 2px; }
.iwc-evfree__date span { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; }
.iwc-evfree__date strong { font-family: var(--iwc-font-display); font-size: 26px; font-weight: 600; }
.iwc-evfree__meta { display: flex; flex-direction: column; gap: 5px; min-width: 0; }
.iwc-evfree__tags { display: flex; gap: 8px; align-items: center; flex-wrap: wrap; }
.iwc-evfree__pill { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #FFFFFF; background: #9C7A21; padding: 4px 10px; border-radius: 999px; }
.iwc-evfree__type { font-size: 12px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; color: #9C7A21; }
.iwc-evfree__when { font-size: 13px; font-weight: 600; }
.iwc-chrome #main .iwc-evfree__body { padding: 16px 20px 20px; display: flex; flex-direction: column; gap: 10px; flex: 1; }
.iwc-chrome #main a.iwc-evfree__title { font-family: var(--iwc-font-display); font-size: 22px; font-weight: 600; line-height: 1.2; color: #332345; }
.iwc-evfree__desc { margin: 0; font-size: 14px; line-height: 1.6; color: #5E5270; text-wrap: pretty; }
.iwc-evfree__facts { display: flex; flex-wrap: wrap; gap: 6px 16px; font-size: 13px; color: #5E5270; margin-top: auto; padding-top: 6px; }
.iwc-evfree__mode { display: flex; align-items: center; gap: 7px; font-weight: 600; color: #332345; }
.iwc-evfree__cta { display: flex; gap: 10px; align-items: center; flex-wrap: wrap; padding-top: 4px; }
.iwc-evfree__note { font-size: 13px; color: #5E5270; }

/* Empty result, paging, subscribe. */
.iwc-chrome .tribe-events-view--list .tribe-events-c-messages__message { background: #FFFFFF; border: 1.5px dashed rgba(121, 67, 213, 0.3); border-radius: 22px; padding: 22px 28px; font-family: var(--iwc-font-body); font-size: 15px; color: #5E5270; }
.iwc-evempty { background: #FFFFFF; border: 1.5px dashed rgba(121, 67, 213, 0.3); border-radius: 22px; padding: 24px 28px; display: flex; flex-direction: column; gap: 6px; font-family: var(--iwc-font-body); }
.iwc-evempty strong { font-family: var(--iwc-font-display); font-size: 22px; font-weight: 600; color: #332345; }
.iwc-evempty span { font-size: 15px; line-height: 1.6; color: #5E5270; }
.iwc-chrome #main .iwc-evempty button { all: unset; cursor: pointer; margin-top: 6px; font-size: 14px; font-weight: 600; color: #7943D5; }
.iwc-chrome .tribe-events-view--list .tribe-events-calendar-list-nav { margin-top: 20px; border-top: 1px solid rgba(74, 46, 122, 0.12); padding-top: 16px; }
.iwc-chrome .tribe-events-view--list .tribe-events-c-subscribe-dropdown__container { margin-top: 12px; }

/* Message band (list and event page). */
.iwc-evmsg { max-width: var(--iwc-max); box-sizing: border-box; margin: clamp(28px, 3.5vw, 44px) auto clamp(8px, 2vw, 20px); padding: 0 var(--iwc-pad-x); font-family: var(--iwc-font-body); }
.iwc-evd .iwc-evmsg { padding: 0; }
.iwc-evmsg__card { position: relative; overflow: hidden; background: #7943D5; border-radius: 999px; padding: clamp(16px, 2vw, 20px) clamp(16px, 2vw, 20px) clamp(16px, 2vw, 20px) clamp(24px, 3.5vw, 40px); display: flex; flex-wrap: wrap; gap: 12px 28px; align-items: center; justify-content: space-between; }
.iwc-evmsg__ring { position: absolute; right: 120px; top: -60px; width: 160px; height: 160px; border-radius: 999px; border: 1px solid rgba(246, 227, 161, 0.3); }
.iwc-evmsg__copy { position: relative; display: flex; flex-direction: column; gap: 3px; flex: 1 1 320px; min-width: 0; }
.iwc-evmsg__title { font-family: var(--iwc-font-display); font-weight: 600; font-size: clamp(20px, 2.2vw, 24px); line-height: 1.25; color: #FFFFFF; text-wrap: balance; }
.iwc-evmsg__sub { font-size: 14px; line-height: 1.5; color: #EDE7F7; }
.iwc-chrome #main .iwc-evmsg__btn { position: relative; padding: 14px 30px; box-shadow: 0 6px 16px rgba(51, 35, 69, 0.25); }
@media (max-width: 699px) { .iwc-evmsg__card { border-radius: 24px; padding: 24px; } }

/* ---------- Event page ---------- */
.iwc-chrome.single-tribe_events #main #content-wrap { padding-top: 0; max-width: var(--iwc-max); }
.iwc-chrome.single-tribe_events #tribe-events-pg-template, .iwc-chrome.single-tribe_events .tribe-events-pg-template { max-width: none; padding: 0; margin: 0; }
.iwc-evd { font-family: var(--iwc-font-body); color: #332345; }
.iwc-evd__hero, .iwc-evd__content { display: flex; flex-wrap: wrap; gap: clamp(20px, 3vw, 36px); align-items: flex-start; padding: clamp(20px, 2.5vw, 28px) 0; }
.iwc-evd__intro, .iwc-evd__main { flex: 999 1 520px; min-width: 0; display: flex; flex-direction: column; }
.iwc-evd__intro { gap: 14px; }
.iwc-evd__main { gap: clamp(28px, 3.5vw, 40px); }
.iwc-evd__crumbs { display: flex; gap: 8px; flex-wrap: wrap; font-size: 13px; color: #5E5270; }
.iwc-chrome #main .iwc-evd__crumbs a { color: #5E5270; }
.iwc-chrome #main .iwc-evd__crumbs a:hover { color: #7943D5; }
.iwc-evd__crumbs [aria-current] { color: #332345; font-weight: 600; }
.iwc-evd__tags { display: flex; align-items: center; gap: 8px 10px; flex-wrap: wrap; }
.iwc-evd__cat { font-size: 12px; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase; color: #FFFFFF; background: var(--ev-accent); padding: 5px 12px; border-radius: 999px; }
.iwc-chrome #main .iwc-evd__title { font-family: var(--iwc-font-display) !important; font-weight: 600; font-size: clamp(34px, 4.8vw, 56px) !important; line-height: 1.05 !important; margin: 0; letter-spacing: -0.02em !important; text-transform: none !important; color: #332345; text-wrap: balance; }
.iwc-evd__title em { font-style: italic; color: var(--ev-accent); }
.iwc-evd__sub { display: flex; flex-wrap: wrap; gap: 8px 18px; align-items: center; }
.iwc-evd__tagline { font-size: 17px; font-weight: 600; color: var(--ev-accent); }
.iwc-chrome #main a.iwc-evd__rating { display: flex; align-items: center; gap: 8px; font-size: 14px; color: #332345; }
.iwc-evd__rating > span:last-child { color: #5E5270; text-decoration: underline; text-underline-offset: 3px; }
.iwc-evd__stars { color: #D4AF37; letter-spacing: 2px; }
.iwc-evd__banner { position: relative; border-radius: 22px; overflow: hidden; aspect-ratio: 16 / 9; background: var(--ev-tint); margin-top: 4px; }
.iwc-evd__banner img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; display: block; }

.iwc-evd__book { flex: 1 1 340px; max-width: 100%; position: sticky; top: calc(96px + env(safe-area-inset-top, 0px)); background: #FFFFFF; border: 1px solid rgba(74, 46, 122, 0.14); border-radius: 24px; box-shadow: 0 24px 48px rgba(51, 35, 69, 0.10); overflow: hidden; }
.admin-bar .iwc-evd__book { top: 128px; }
.iwc-evd__book-head { background: var(--ev-tint); padding: 18px 22px; display: flex; align-items: flex-end; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.iwc-evd__book-head > div { display: flex; flex-direction: column; gap: 4px; }
.iwc-evd__price { font-family: var(--iwc-font-display); font-size: 38px; font-weight: 600; line-height: 1; }
.iwc-evd__mode { display: flex; align-items: center; gap: 7px; font-size: 13px; font-weight: 600; background: #FFFFFF; padding: 6px 12px; border-radius: 999px; }
.iwc-evd__book-body { padding: 18px 22px 22px; display: flex; flex-direction: column; gap: 14px; }
.iwc-evd__facts { display: grid; grid-template-columns: auto minmax(0, 1fr); gap: 10px 14px; font-size: 14px; line-height: 1.45; margin: 0; }
.iwc-evd__facts dt { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #8A7D9C; padding-top: 2px; }
.iwc-evd__facts dd { margin: 0; font-weight: 600; }
.iwc-chrome #main .iwc-evd__facts a { color: #7943D5; }
.iwc-evd__sessions { display: flex; flex-direction: column; gap: 8px; border-top: 1px solid rgba(74, 46, 122, 0.08); padding-top: 12px; }
.iwc-evd__session-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 6px; }
.iwc-evd__session { display: flex; flex-direction: column; align-items: center; gap: 1px; padding: 6px 0; border-radius: 10px; background: var(--ev-tint); color: var(--ev-accent); line-height: 1.1; }
.iwc-evd__session span { font-size: 10px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; }
.iwc-evd__session strong { font-family: var(--iwc-font-display); font-size: 18px; font-weight: 600; }
.iwc-evd__session em { font-style: normal; font-size: 10px; font-weight: 600; }
.iwc-evd__session.is-done { background: #F1ECF7; color: #9A8CAA; }
.iwc-evd__note { font-size: 12px; color: #5E5270; }
.iwc-chrome #main .iwc-evd__cta { width: 100%; justify-content: center; }
.iwc-evd__links { display: flex; flex-wrap: wrap; gap: 8px 14px; align-items: center; justify-content: space-between; font-size: 13px; border-top: 1px solid rgba(74, 46, 122, 0.08); padding-top: 12px; }
.iwc-evd__cal { display: flex; gap: 12px; flex-wrap: wrap; }
.iwc-chrome #main .iwc-evd__cal a { font-weight: 600; color: #7943D5; }
.iwc-evd__share { display: flex; gap: 4px; align-items: center; color: #5E5270; }
.iwc-evd__share > span { margin-right: 4px; }
.iwc-chrome #main .iwc-evd__share a { width: 30px; height: 30px; border-radius: 999px; border: 1px solid rgba(74, 46, 122, 0.18); display: flex; align-items: center; justify-content: center; color: #332345; font-weight: 700; --iwc-icon-cut: #FFFFFF; }
.iwc-chrome #main .iwc-evd__share a:hover { background: #EDE7F7; }
.iwc-evd__share .iwc-i { width: 15px; height: 15px; }

.iwc-evd__block { display: flex; flex-direction: column; gap: 14px; }
.iwc-evd__head { display: flex; flex-direction: column; gap: 8px; }
.iwc-evd__eyebrow { font-size: 13px; font-weight: 700; letter-spacing: 0.14em; text-transform: uppercase; color: var(--ev-accent); }
.iwc-chrome #main .iwc-evd__h2 { text-transform: none !important; letter-spacing: -0.01em !important; font-family: var(--iwc-font-display) !important; font-weight: 600; font-size: clamp(24px, 3vw, 32px) !important; line-height: 1.15 !important; margin: 0; color: #332345; text-wrap: balance; }
.iwc-evd__learn { list-style: none; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 8px; }
.iwc-evd__learn li { display: grid; grid-template-columns: 30px minmax(0, 1fr); gap: 10px; align-items: start; background: #FFFFFF; border: 1px solid rgba(74, 46, 122, 0.1); border-radius: 14px; padding: 12px 14px; margin: 0; }
.iwc-evd__learn li > span:last-child { font-size: 15px; line-height: 1.55; padding-top: 4px; text-wrap: pretty; }
.iwc-evd__num { width: 30px; height: 30px; border-radius: 999px; background: var(--ev-tint); color: var(--ev-accent); font-family: var(--iwc-font-display); font-size: 15px; font-weight: 600; display: flex; align-items: center; justify-content: center; }
.iwc-evd__text { font-size: 15px; line-height: 1.7; }
.iwc-evd__lead { margin: 0; font-size: 16px; line-height: 1.7; color: #5E5270; text-wrap: pretty; }
.iwc-evd__teacher { background: #FFFFFF; border: 1px solid rgba(74, 46, 122, 0.12); border-radius: 22px; padding: 18px 20px; display: grid; grid-template-columns: 64px minmax(0, 1fr); gap: 16px; align-items: center; }
.iwc-evd__avatar { width: 64px; height: 64px; border-radius: 999px; background: var(--ev-tint); color: var(--ev-accent); display: flex; align-items: center; justify-content: center; font-family: var(--iwc-font-display); font-size: 24px; font-weight: 600; }
.iwc-evd__teacher > div { display: flex; flex-direction: column; gap: 4px; }
.iwc-evd__teacher .iwc-evd__eyebrow { font-size: 11px; letter-spacing: 0.1em; }
.iwc-evd__teacher-name { font-family: var(--iwc-font-display); font-size: 22px; font-weight: 600; }
.iwc-evd__teacher-note { font-size: 14px; line-height: 1.55; color: #5E5270; }

/* Registration form (Registrations for The Events Calendar), in the design's look. */
.iwc-evd__register { scroll-margin-top: 110px; background: #FFFFFF; border: 1px solid rgba(74, 46, 122, 0.12); border-radius: 22px; padding: clamp(18px, 2.4vw, 26px); }
.iwc-evd__form, .iwc-evd__form * { font-family: var(--iwc-font-body); }
.iwc-chrome #main .iwc-evd__form :is(input[type="text"], input[type="email"], input[type="tel"], input[type="number"], select, textarea) {
	width: 100%; max-width: 100%; box-sizing: border-box; font-size: 14px; color: #332345; background: #FFFFFF;
	border: 1.5px solid rgba(74, 46, 122, 0.18); border-radius: 12px; padding: 10px 14px; min-height: 44px; box-shadow: none;
}
.iwc-chrome #main .iwc-evd__form :is(input, select, textarea):focus { border-color: #7943D5; outline: none; box-shadow: 0 0 0 3px rgba(121, 67, 213, 0.12); }
.iwc-chrome #main .iwc-evd__form label { font-size: 13px; font-weight: 600; color: #5E5270; }
.iwc-chrome #main .iwc-evd__form :is(button, input[type="submit"], .rtec-register-button) {
	display: inline-flex; align-items: center; justify-content: center; gap: 8px; font-size: 15px !important; font-weight: 600 !important;
	background: var(--iwc-gold) !important; color: #332345 !important; border: 0 !important; border-radius: 999px !important; padding: 13px 28px !important;
	min-height: 46px; cursor: pointer; text-transform: none !important; letter-spacing: 0 !important; box-shadow: 0 8px 20px rgba(156, 122, 33, 0.22);
}
.iwc-evd__form .rtec-register-button { width: 100%; }

.iwc-evd__reviews-head { display: flex; flex-wrap: wrap; gap: 10px 24px; align-items: flex-end; justify-content: space-between; }
.iwc-evd__score { display: flex; align-items: center; gap: 10px; }
.iwc-evd__score > strong { font-family: var(--iwc-font-display); font-size: 36px; font-weight: 600; line-height: 1; }
.iwc-evd__score > span { display: flex; flex-direction: column; gap: 2px; font-size: 13px; color: #5E5270; }
.iwc-evd__review-grid { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 300px), 1fr)); gap: 12px; }
.iwc-evd__review { margin: 0; background: #FFFFFF; border: 1px solid rgba(74, 46, 122, 0.12); border-radius: 20px; padding: 18px 20px; display: flex; flex-direction: column; gap: 10px; }
.iwc-evd__review-top { display: flex; justify-content: space-between; gap: 10px; align-items: center; }
.iwc-evd__review-title { font-family: var(--iwc-font-display); font-size: 18px; font-weight: 600; }
.iwc-chrome #main .iwc-evd__review blockquote { margin: 0; padding: 0; border: 0; font-family: var(--iwc-font-body); font-style: normal; font-size: 15px; line-height: 1.6; color: #332345; }
.iwc-evd__review figcaption { font-size: 13px; color: #5E5270; margin-top: auto; }
.iwc-chrome #main a.iwc-evd__more { align-self: flex-start; font-size: 14px; font-weight: 600; color: #7943D5; }

.iwc-evd__side { flex: 1 1 340px; max-width: 100%; display: flex; flex-direction: column; gap: 12px; }
.iwc-chrome #main a.iwc-evd__course { background: var(--ev-accent); border-radius: 22px; padding: 18px 20px; display: flex; flex-direction: column; gap: 6px; color: #FFFFFF; transition: filter .2s; }
.iwc-chrome #main a.iwc-evd__course:hover { filter: brightness(0.92); }
.iwc-evd__course-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: rgba(255, 255, 255, 0.78); }
.iwc-evd__course-t { font-family: var(--iwc-font-display); font-size: 20px; font-weight: 600; line-height: 1.25; }
.iwc-evd__course-cta { font-size: 13px; font-weight: 600; color: #F6E3A1; }
.iwc-evd__others { background: #FFFFFF; border: 1px solid rgba(74, 46, 122, 0.12); border-radius: 22px; padding: 16px 18px; display: flex; flex-direction: column; }
.iwc-evd__others > .iwc-ev__label { padding-bottom: 6px; }
.iwc-chrome #main a.iwc-evd__other { display: grid; grid-template-columns: 48px minmax(0, 1fr); gap: 12px; align-items: center; padding: 10px 0; border-top: 1px solid rgba(74, 46, 122, 0.08); color: #332345; }
.iwc-evd__other-date { width: 48px; height: 50px; border-radius: 12px; background: var(--ev-tint); display: flex; flex-direction: column; align-items: center; justify-content: center; line-height: 1; gap: 2px; }
.iwc-evd__other-date span { font-size: 10px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: var(--ev-accent); }
.iwc-evd__other-date strong { font-family: var(--iwc-font-display); font-size: 20px; font-weight: 600; }
.iwc-evd__other-copy { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.iwc-evd__other-t { font-size: 14px; font-weight: 600; line-height: 1.35; }
.iwc-evd__other-m { font-size: 12px; color: #5E5270; }
.iwc-evd__other-none { font-size: 13px; color: #5E5270; padding: 10px 0; border-top: 1px solid rgba(74, 46, 122, 0.08); }
.iwc-chrome #main a.iwc-evd__all { font-size: 13px; font-weight: 600; padding-top: 10px; border-top: 1px solid rgba(74, 46, 122, 0.08); color: #7943D5; }
.iwc-chrome #main a.iwc-evd__nudge { background: #FFF4D6; border: 1.5px solid rgba(212, 175, 55, 0.5); border-radius: 22px; padding: 16px 18px; display: flex; flex-direction: column; gap: 4px; color: #332345; font-size: 14px; line-height: 1.5; }
.iwc-evd__nudge-eyebrow { font-size: 11px; font-weight: 700; letter-spacing: 0.1em; text-transform: uppercase; color: #9C7A21; }
.iwc-evd__nudge strong { color: #9C7A21; font-weight: 600; }
@media (max-width: 899px) { .iwc-evd__book { position: static; } }

/* Pills, chips and date tiles. The Events Calendar resets every span inside
 * .tribe-common to padding:0; border:0; margin:0, which outranks the
 * single-class rules above, so labels sat flush against their edges. These
 * restate the spacing with #main so it always wins (slightly roomier too). */
.iwc-chrome #main :is(.iwc-ev__cat, .iwc-evtab__pill, .iwc-evfree__pill) { padding: 5px 12px; font-size: 12px; line-height: 1.3; letter-spacing: 0.08em; white-space: nowrap; }
.iwc-chrome #main .iwc-evd__cat { padding: 6px 14px; line-height: 1.3; }
.iwc-chrome #main .iwc-ev__live { padding: 5px 12px; line-height: 1.3; }
.iwc-chrome #main .iwc-ev__offer { padding: 10px 14px; border: 1px solid rgba(212, 175, 55, 0.55); font-size: 13.5px; line-height: 1.45; }
.iwc-chrome #main .iwc-ev__day { padding: 5px 10px; font-size: 13px; line-height: 1.3; }
.iwc-chrome #main .iwc-ev__days-label { margin-right: 4px; }
.iwc-chrome #main .iwc-ev__date { border: 1.5px solid var(--ev-accent); }
.iwc-chrome #main .iwc-evd__mode { padding: 7px 14px; line-height: 1.3; }
.iwc-chrome #main .iwc-evd__session { padding: 7px 0; }
.iwc-chrome #main .iwc-evd__share > span { margin-right: 4px; }
.iwc-chrome #main .iwc-ev__recur { align-self: flex-start; display: inline-flex; align-items: center; gap: 6px; padding: 5px 12px; border-radius: 999px; background: #FFF4D6; border: 1px solid rgba(212, 175, 55, 0.55); color: #6E5410; font-size: 13px; font-weight: 600; line-height: 1.3; }
@media (prefers-reduced-motion: reduce) { .iwc-ev, .iwc-evfree { transition: none; } .iwc-ev:hover, .iwc-evfree:hover { transform: none; } }
