/* Event Detail v2 (events redesign).
 *
 * Desktop Figma 6jVr7YbefLWCQjcGuvD59L: hero 2434:25509, body 2350:21724,
 * modals 2353:22538 / 2371:14706 / 2371:15558. Mobile Qkw1rAqYvxShVppu34QlEv
 * 1719:3798 — one responsive body, 768px stacking rules at the end.
 */

.evd { font-family: 'Inter', sans-serif; }
.evd *, .evd *::before, .evd *::after { box-sizing: border-box; }

/* ---------- Alerts. ---------- */
.evd-alert {
    margin: 16px 112px;
    padding: 12px 16px;
    border-radius: 8px;
    background: #FFFBEB;
    border: 1px solid #FDE68A;
    font-size: 14px;
    line-height: 20px;
    color: #92400E;
}
.evd-alert--info { background: #EBF1FF; border-color: #CDD8F9; color: #2A3864; }

/* ---------- Buttons. ---------- */
.evd-btn {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 12px 20px;
    border-radius: 8px;
    box-shadow: 0px 1px 2px 0px rgba(10, 13, 18, 0.05);
    font-family: inherit;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    text-decoration: none;
    cursor: pointer;
}
.evd-btn:disabled { opacity: 0.6; cursor: default; }
.evd-btn--primary { background: #465DA6; border: 1px solid #465DA6; color: #FFFFFF; }
.evd-btn--primary:hover { background: #3C5192; border-color: #3C5192; color: #FFFFFF; }
.evd-btn--secondary { background: #FFFFFF; border: 1px solid #D5D7DA; color: #414651; }
.evd-btn--secondary:hover { background: #F5F5F5; color: #414651; }
/* Destructive (cancel registration confirm) — Error/600. */
.evd-btn--danger { background: #D92D20; border: 1px solid #D92D20; color: #FFFFFF; }
.evd-btn--danger:hover { background: #B42318; border-color: #B42318; color: #FFFFFF; }

/* ---------- Status badge (same ramp as the listing cards). ---------- */
.evd-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 4px 12px 4px 10px;
    border-radius: 16px;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
}
.evd-badge__dot { width: 8px; height: 8px; border-radius: 50%; }
.evd-badge--upcoming { background: #F3FFFD; color: #269387; }
.evd-badge--upcoming .evd-badge__dot { background: #2FB8A9; }
.evd-badge--past { background: #F5F5F5; color: #414651; }
.evd-badge--past .evd-badge__dot { background: #717680; }
.evd-badge--ongoing { background: #EBF1FF; color: #465DA6; }
.evd-badge--ongoing .evd-badge__dot { background: #465DA6; }

/* ---------- Hero (2434:25509) — Brand/50, 88px v-pad / 112px gutters. ---------- */
.evd-hero {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 32px;
    padding: 88px 112px;
    background: #EBF1FF;
}
/* Media column — 696px, 640:400 cover r12, badge 12/14. */
.evd-hero__media {
    position: relative;
    width: 696px;
    flex-shrink: 0;
}
.evd-hero__carousel {
    position: relative;
    width: 100%;
    aspect-ratio: 640 / 400;
    border-radius: 12px;
    overflow: hidden;
}
.evd-hero__img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.evd-hero__img--placeholder { background: #CDD8F9; }
.evd-hero__media .evd-badge { position: absolute; right: 12px; top: 14px; }
/* Info column — 488px, title↕availability space-between (4px bottom pad). */
.evd-hero__info {
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    gap: 32px;
    align-self: stretch;
    width: 488px;
    padding-bottom: 4px;
    flex-shrink: 0;
}
.evd-hero__meta-group {
    display: flex;
    flex-direction: column;
    gap: 20px;
}
/* Title — Display md semibold 36/44 -0.72px. */
.evd-hero__title {
    margin: 0;
    font-size: 36px;
    line-height: 44px;
    font-weight: 600;
    letter-spacing: -0.72px;
    color: #000000;
}
/* Meta rows — 16/24 Gray/9, small leading icons, 8px gap. */
.evd-hero__meta-row {
    display: flex;
    align-items: flex-start;
    gap: 8px;
}
.evd-hero__meta-icon {
    display: block;
    width: 14px;
    height: 14px;
    margin-top: 5px;
    flex-shrink: 0;
}
.evd-hero__meta-icon svg { display: block; width: 100%; height: 100%; }
.evd-hero__meta-text {
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: #434343;
}
/* Availability box (472:4896) — Brand/50 multiplied on hero (≈ #E0E8FA), r12, 16px pad+gap. */
.evd-avail {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    padding: 16px;
    background: #E0E8FA;
    border-radius: 12px;
}
.evd-avail__label {
    margin: 0;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: #434343;
}
.evd-avail__label--registered {
    display: flex;
    align-items: center;
    gap: 8px;
    font-weight: 600;
    color: #262626;
}
.evd-avail__label--soldout { font-weight: 600; color: #262626; }
.evd-avail__note { margin: -8px 0 0; font-size: 14px; line-height: 20px; color: #595959; }
.evd-avail__check { display: block; width: 20px; height: 20px; }
.evd-avail__check svg { display: block; width: 100%; height: 100%; }
.evd-avail__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    width: 100%;
}
/* Share — 16/24 semibold Brand/700 text button + share-2 icon. */
.evd-share {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #5E69A8;
}
.evd-share__icon {
    display: block;
    width: 20px;
    height: 20px;
    background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 20 20' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M15 6.66667C16.3807 6.66667 17.5 5.54738 17.5 4.16667C17.5 2.78595 16.3807 1.66667 15 1.66667C13.6193 1.66667 12.5 2.78595 12.5 4.16667C12.5 5.54738 13.6193 6.66667 15 6.66667Z' stroke='%235E69A8' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M5 12.5C6.38071 12.5 7.5 11.3807 7.5 10C7.5 8.61929 6.38071 7.5 5 7.5C3.61929 7.5 2.5 8.61929 2.5 10C2.5 11.3807 3.61929 12.5 5 12.5Z' stroke='%235E69A8' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M15 18.3333C16.3807 18.3333 17.5 17.214 17.5 15.8333C17.5 14.4526 16.3807 13.3333 15 13.3333C13.6193 13.3333 12.5 14.4526 12.5 15.8333C12.5 17.214 13.6193 18.3333 15 18.3333Z' stroke='%235E69A8' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.15833 11.2583L12.85 14.575M12.8417 5.425L7.15833 8.74167' stroke='%235E69A8' stroke-width='1.67' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
    background-size: contain;
    background-repeat: no-repeat;
}

/* ---------- Body (2350:21724) — 696px sections + 488px rail, 32px v-pad. ---------- */
.evd-body {
    display: flex;
    align-items: flex-start;
    gap: 32px;
    padding: 32px 112px;
    background: #FFFFFF;
}
.evd-body__main {
    display: flex;
    flex-direction: column;
    gap: 62px;
    width: 696px;
    flex-shrink: 0;
}
.evd-body__rail {
    flex: 1;
    min-width: 0;
    max-width: 488px;
    margin-left: auto;
}
.evd-section {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}
/* Section titles — Display xs bold 24/32. */
.evd-section__title {
    margin: 0;
    font-size: 24px;
    line-height: 32px;
    font-weight: 700;
    color: rgba(0, 0, 0, 0.88);
}
.evd-section__sub {
    margin: -8px 0 0;
    font-size: 16px;
    line-height: 24px;
    color: #595959;
}
/* Event Details rows — 32px Brand/50 icon tile + 16/24 text. */
.evd-detail-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 6px;
}
.evd-detail-row__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 8px;
    margin-right: 6px;
    background: #EBF1FF;
    border-radius: 6.667px;
    flex-shrink: 0;
}
.evd-detail-row__icon svg { display: block; width: 20px; height: 20px; }
.evd-detail-row__strong {
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #262626;
}
.evd-detail-row__muted {
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: #8C8C8C;
}
.evd-detail-row__dot {
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: #8C8C8C;
}
/* About / T&C rich text — 16/24 black, clamped w/ Read more. */
.evd-about__content, .evd-terms__content {
    font-size: 16px;
    line-height: 24px;
    color: #000000;
}
.evd-about__content p, .evd-terms__content p { margin: 0 0 16px; }
.evd-about__content ul, .evd-terms__content ul { margin: 0 0 16px; padding-left: 24px; }
.evd-about__content a, .evd-terms__content a { color: inherit; text-decoration: underline; }
[data-evd-clamp] {
    max-height: 1200px;
    overflow: hidden;
    position: relative;
}
.evd-terms[data-evd-clamp] { max-height: 120px; }
.evd-clamp--expanded { max-height: none !important; }
.evd-readmore {
    align-self: flex-start;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
    font-family: inherit;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #5E69A8;
}
/* Instructors — 48px round avatar, 16/24 name + Gray/8 role. */
.evd-instructors {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.evd-instructor {
    display: flex;
    align-items: center;
    gap: 12px;
}
.evd-instructor__avatar {
    width: 48px;
    height: 48px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
}
.evd-instructor__text {
    display: flex;
    flex-direction: column;
    gap: 2px;
}
.evd-instructor__name {
    margin: 0;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #262626;
}
.evd-instructor__role {
    margin: 0;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: #595959;
}
/* Recording — 16:9 r12 media w/ centered play, "Recorded on" line. */
.evd-recording {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    border-radius: 12px;
    overflow: hidden;
    cursor: pointer;
}
.evd-recording__thumb {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.evd-recording__thumb--placeholder { background: #1C2542; }
.evd-recording__play {
    position: absolute;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}
.evd-recording__play img { display: block; width: 68px; height: 48px; }
.evd-recording__frame {
    display: block;
    width: 100%;
    height: 100%;
    border: none;
}
.evd-recording__date {
    margin: 0;
    font-size: 14px;
    line-height: 20px;
    color: #595959;
}
/* Virtual meeting. */
.evd-meeting {
    display: flex;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
}
.evd-meeting__hint {
    margin: 0;
    font-size: 14px;
    line-height: 20px;
    color: #8C8C8C;
}
/* Resources — Brand/50 icon tile rows. */
.evd-resources {
    display: flex;
    flex-direction: column;
    gap: 12px;
}
.evd-resource {
    display: flex;
    align-items: center;
    gap: 12px;
    padding: 12px 16px;
    border: 1px solid #D9D9D9;
    border-radius: 8px;
    text-decoration: none;
}
.evd-resource:hover { border-color: #465DA6; }
.evd-resource__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    padding: 8px;
    background: #EBF1FF;
    border-radius: 6.667px;
    flex-shrink: 0;
}
.evd-resource__icon svg { display: block; width: 20px; height: 20px; }
.evd-resource__text { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.evd-resource__title {
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #262626;
}
.evd-resource__desc {
    font-size: 14px;
    line-height: 20px;
    color: #595959;
}
.evd-resources__hint {
    margin: 0;
    font-size: 14px;
    line-height: 20px;
    color: #8C8C8C;
}
/* Location (2350:21780) — bordered r12 card: 188px map + footer row. */
.evd-location {
    display: flex;
    flex-direction: column;
    width: 100%;
    border: 1px solid #D9D9D9;
    border-radius: 12px;
    overflow: hidden;
}
.evd-location__map {
    display: block;
    width: 100%;
    height: 188px;
    border: none;
}
.evd-location__footer {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 20px 16px;
}
.evd-location__address {
    display: flex;
    align-items: flex-start;
    gap: 8px;
    flex: 1;
    min-width: 0;
    font-size: 16px;
    line-height: 24px;
    color: #434343;
}
.evd-location__pin {
    display: block;
    width: 12px;
    height: 12px;
    margin-top: 6px;
    flex-shrink: 0;
}
.evd-location__pin svg { display: block; width: 100%; height: 100%; }
.evd-location__cta {
    padding: 10px 16px;
    font-size: 14px;
    line-height: 20px;
    flex-shrink: 0;
}
.evd-location__nav-icon { display: block; width: 20px; height: 20px; }
.evd-location__nav-icon svg { display: block; width: 100%; height: 100%; }

/* ---------- Ticket table (2350:21787) — bordered r8/16 card, 32px pad. ---------- */
.evd-tickets {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    padding: 32px;
    border: 1px solid #D9D9D9;
    border-radius: 8px;
    background: #FFFFFF;
}
.evd-tickets__head {
    display: flex;
    align-items: center;
    justify-content: space-between;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #434343;
}
.evd-tickets__divider { height: 0; border-top: 1px solid #D9D9D9; }
.evd-tickets__rows {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.evd-tickets__row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.evd-tickets__name {
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #434343;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}
.evd-tickets__price {
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: #434343;
    flex-shrink: 0;
}
.evd-tickets__loading {
    font-size: 14px;
    line-height: 20px;
    color: #8C8C8C;
}

/* ---------- Modals — rgba(16,24,40,.7) blur overlay, white r12 dialogs. ---------- */
.evd-modal-overlay {
    position: fixed;
    inset: 0;
    z-index: 1050;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 16px;
    background: rgba(16, 24, 40, 0.7);
    backdrop-filter: blur(8px);
    overflow-y: auto;
}
.evd-modal {
    position: relative;
    background: #FFFFFF;
    border-radius: 12px;
    box-shadow: 0px 20px 24px -4px rgba(10, 13, 18, 0.08), 0px 8px 8px -4px rgba(10, 13, 18, 0.03);
    max-height: calc(100vh - 32px);
    overflow-y: auto;
}
.evd-modal__close {
    display: flex;
    align-items: center;
    justify-content: center;
    background: none;
    border: none;
    padding: 0;
    cursor: pointer;
}
.evd-modal__close svg { display: block; width: 20px; height: 20px; }
/* Auth gate (2353:22538) — 512w, 24px pad / 32px bottom, centered 453px content. */
.evd-modal--auth {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: 512px;
    padding: 24px 24px 32px;
}
.evd-modal--auth .evd-modal__close { align-self: flex-end; }
.evd-modal__content {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 32px;
    width: 453px;
    max-width: 100%;
}
.evd-modal__text {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 12px;
    width: 100%;
}
/* Modal title — Display sm semibold 30/38 Gray/900. */
.evd-modal__title {
    margin: 0;
    font-size: 30px;
    line-height: 38px;
    font-weight: 600;
    color: #181D27;
    text-align: center;
}
.evd-modal__sub {
    margin: 0;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: #535862;
    text-align: center;
}
.evd-auth__actions {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 100%;
}
/* Social buttons — 16/10 pad, r8, 12px gap, 16/24 semibold. */
.evd-social {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 12px;
    width: 100%;
    padding: 10px 16px;
    border-radius: 8px;
    box-shadow: 0px 1px 2px 0px rgba(10, 13, 18, 0.05);
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    text-decoration: none;
}
.evd-social--google { background: #FFFFFF; border: 1px solid #D5D7DA; color: #414651; }
.evd-social--google:hover { background: #F5F5F5; color: #414651; }
.evd-social--facebook { background: #1877F2; border: 1px solid #1877F2; color: #FFFFFF; }
.evd-social--facebook:hover { color: #FFFFFF; }
.evd-social--linkedin { background: #2F63B9; border: 1px solid #2F63B9; color: #FFFFFF; }
.evd-social--linkedin:hover { color: #FFFFFF; }
.evd-social__icon { display: block; width: 24px; height: 24px; }
.evd-social__icon svg { display: block; width: 100%; height: 100%; }
.evd-auth__row {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 4px;
    width: 100%;
    font-size: 14px;
    line-height: 20px;
    color: #535862;
}
.evd-auth__link {
    font-weight: 600;
    color: #5E69A8;
    text-decoration: none;
}
.evd-auth__link:hover { text-decoration: underline; }
.evd-auth__terms {
    margin: 0;
    font-size: 14px;
    line-height: 20px;
    color: #717680;
    text-align: center;
}
.evd-auth__terms a { color: inherit; text-decoration: underline; }
/* Ticket modal (2371:14706) — 512w, 24px gaps. */
.evd-modal--tickets {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 512px;
    padding: 24px 24px 32px;
}
.evd-modal__header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
}
.evd-modal__header-title {
    margin: 0;
    font-size: 18px;
    line-height: 28px;
    font-weight: 600;
    color: #181D27;
}
/* Event chip — Gray/2 bg, Gray/4 border, 68px thumb. */
.evd-event-chip {
    display: flex;
    align-items: center;
    gap: 16px;
    width: 100%;
    padding: 12px;
    background: #FAFAFA;
    border: 1px solid #F0F0F0;
    border-radius: 8px;
}
.evd-event-chip__img {
    display: block;
    width: 68px;
    height: 68px;
    border-radius: 8px;
    object-fit: cover;
    flex-shrink: 0;
}
.evd-event-chip__img--placeholder { background: #EBF1FF; }
.evd-event-chip__text {
    display: flex;
    flex-direction: column;
    gap: 8px;
    min-width: 0;
}
.evd-event-chip__title {
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    color: #414651;
}
.evd-event-chip__date {
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    color: #717680;
}
/* Discount row — labelled input + Apply. */
.evd-discount {
    display: flex;
    align-items: flex-end;
    gap: 16px;
    width: 100%;
}
.evd-discount__field {
    display: flex;
    flex-direction: column;
    gap: 6px;
    flex: 1;
    min-width: 0;
}
.evd-discount__label {
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    color: #414651;
}
.evd-discount__input {
    width: 100%;
    padding: 10px 14px;
    background: #FFFFFF;
    border: 1px solid #D5D7DA;
    border-radius: 8px;
    box-shadow: 0px 1px 2px 0px rgba(10, 13, 18, 0.05);
    font-family: inherit;
    font-size: 16px;
    line-height: 24px;
    color: #181D27;
}
.evd-discount__input::placeholder { color: #717680; }
.evd-discount .evd-btn { padding: 10px 18px; }
.evd-discount__message {
    width: 100%;
    font-size: 14px;
    line-height: 20px;
    color: #039855;
}
.evd-discount__message--error { color: #D92D20; }
/* Ticket cards — bordered r12, 16px pad+gap, price + Select footer. */
.evd-ticket-list {
    display: flex;
    flex-direction: column;
    gap: 24px;
    width: 100%;
}
.evd-ticket-card {
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
    padding: 16px;
    background: #FFFFFF;
    border: 1px solid #D9D9D9;
    border-radius: 12px;
}
.evd-ticket-card--soldout { opacity: 0.55; }
.evd-ticket-card__title {
    margin: 0;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #434343;
}
.evd-ticket-card__desc {
    margin: 0;
    font-size: 16px;
    line-height: 24px;
    font-weight: 400;
    color: #434343;
}
.evd-ticket-card__discount {
    font-size: 14px;
    line-height: 20px;
    color: #039855;
}
.evd-ticket-card__divider { height: 0; border-top: 1px solid #D9D9D9; }
.evd-ticket-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}
.evd-ticket-card__price {
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #434343;
}
.evd-ticket-card__select { padding: 10px 16px; font-size: 14px; line-height: 20px; }
/* Success (2371:15558) — 432w, success ring icon, left-aligned. */
.evd-modal--success {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 24px;
    width: 432px;
    padding: 32px 24px 24px;
}
.evd-success__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 56px;
    height: 56px;
    background: #D1FADF;
    border: 10px solid #ECFDF3;
    border-radius: 28px;
}
.evd-success__icon svg { display: block; width: 28px; height: 28px; }
.evd-success__title {
    margin: 0;
    font-size: 24px;
    line-height: 32px;
    font-weight: 600;
    color: #181D27;
}
.evd-success__body {
    display: flex;
    flex-direction: column;
    gap: 8px;
    width: 100%;
}
.evd-success__sub {
    margin: 0;
    font-size: 16px;
    line-height: 24px;
    color: #717680;
}
.evd-success__event {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 8px 12px;
    background: #FAFAFA;
    border-radius: 4px;
}
.evd-success__cal { display: block; width: 16px; height: 16px; flex-shrink: 0; }
.evd-success__cal svg { display: block; width: 100%; height: 100%; }
.evd-success__event-title {
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #535862;
}
.evd-success__cta { width: 100%; }
/* Cancel confirm — 432w destructive dialog. */
.evd-modal--confirm {
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    gap: 16px;
    width: 432px;
    padding: 24px;
}
.evd-confirm__icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 48px;
    height: 48px;
    background: #FEE4E2;
    border: 8px solid #FEF3F2;
    border-radius: 24px;
}
.evd-confirm__icon svg { display: block; width: 24px; height: 24px; }
.evd-confirm__title {
    margin: 0;
    font-size: 18px;
    line-height: 28px;
    font-weight: 600;
    color: #181D27;
}
.evd-confirm__sub {
    margin: 0;
    font-size: 14px;
    line-height: 20px;
    color: #535862;
}
.evd-confirm__actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 12px;
    width: 100%;
    margin-top: 8px;
}

/* ---------- Mobile (≤768px, Qkw1rAqYvxShVppu34QlEv 1719:3798) — stacked. ---------- */
@media (max-width: 768px) {
    .evd-alert { margin: 12px 16px; }
    .evd-hero {
        flex-direction: column;
        gap: 24px;
        padding: 24px 16px 32px;
    }
    .evd-hero__media, .evd-hero__info { width: 100%; }
    .evd-hero__title { font-size: 24px; line-height: 32px; letter-spacing: -0.48px; }
    .evd-hero__meta-text { font-size: 14px; line-height: 22px; }
    .evd-hero__meta-group { gap: 12px; }
    .evd-hero__info { gap: 20px; padding-bottom: 0; }
    .evd-body {
        flex-direction: column-reverse;
        gap: 32px;
        padding: 24px 16px 32px;
    }
    .evd-body__main { width: 100%; gap: 40px; }
    .evd-body__rail { width: 100%; max-width: none; margin-left: 0; }
    .evd-tickets { padding: 16px; }
    .evd-section__title { font-size: 20px; line-height: 28px; }
    .evd-about__content, .evd-terms__content,
    .evd-detail-row__strong, .evd-detail-row__muted { font-size: 14px; line-height: 22px; }
    .evd-avail__row { flex-wrap: wrap; }
    .evd-avail__row .evd-btn { flex: 1 1 auto; }
    .evd-location__footer { flex-direction: column; align-items: stretch; }
    .evd-modal--auth, .evd-modal--tickets, .evd-modal--success, .evd-modal--confirm {
        width: 100%;
        max-width: 512px;
    }
    .evd-modal__content { width: 100%; }
}

/* ---------- Admin view (2372:5644) — tab bar, resources, attendees table. ---------- */

/* Tab bar row — bordered button group left, Edit Event right, 112px gutters. */
.evd-admin-bar {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
    padding: 32px 112px 0;
    background: #FFFFFF;
}
/* Button group — r8, #D5D7DA border, dividers between items; active bg Gray/50. */
.evd-tabs {
    display: flex;
    align-items: stretch;
    border: 1px solid #D5D7DA;
    border-radius: 8px;
    overflow: hidden;
    filter: drop-shadow(0px 1px 1px rgba(10, 13, 18, 0.05));
}
.evd-tabs__tab {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 8px;
    padding: 10px 16px;
    background: #FFFFFF;
    border: none;
    border-right: 1px solid #D5D7DA;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    line-height: 20px;
    font-weight: 600;
    color: #414651;
}
.evd-tabs__tab:last-child { border-right: none; }
.evd-tabs__tab:hover { background: #FAFAFA; }
.evd-tabs__tab--active { background: #FAFAFA; color: #252B37; }
.evd-tabs__icon { display: block; width: 20px; height: 20px; }
.evd-tabs__icon svg { display: block; width: 100%; height: 100%; }
.evd-admin-bar__edit { padding: 10px 16px; font-size: 14px; line-height: 20px; }
.evd-admin-bar__edit-icon { display: block; width: 20px; height: 20px; }
.evd-admin-bar__edit-icon svg { display: block; width: 100%; height: 100%; }

/* Admin panels share the body gutters. */
.evd-admin-panel {
    padding: 32px 112px;
    background: #FFFFFF;
}
.evd-section--wide { max-width: none; }

/* Info note — Brand/50 banner. */
.evd-admin-note {
    display: flex;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 10px 14px;
    background: #EBF1FF;
    border-radius: 8px;
    font-size: 14px;
    line-height: 20px;
    color: #2A3864;
}
.evd-admin-note__icon { display: block; width: 20px; height: 20px; flex-shrink: 0; }
.evd-admin-note__icon svg { display: block; width: 100%; height: 100%; }

/* Admin resource rows — public card + delete action. */
.evd-resource--admin { align-items: center; }
.evd-resource--admin .evd-resource__text { flex: 1; min-width: 0; text-decoration: none; }
.evd-resource__delete {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    flex-shrink: 0;
}
.evd-resource__delete:hover { background: #FEF3F2; }
.evd-resource__delete svg { display: block; width: 20px; height: 20px; }

/* Empty states (2383:13629) — dashed r12 box, centered. */
.evd-empty {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 8px;
    width: 100%;
    padding: 48px 24px;
    border: 1px dashed #D5D7DA;
    border-radius: 12px;
    text-align: center;
}
.evd-empty__icon { display: block; width: 40px; height: 40px; margin-bottom: 4px; }
.evd-empty__icon svg { display: block; width: 100%; height: 100%; }
.evd-empty__title {
    margin: 0;
    font-size: 16px;
    line-height: 24px;
    font-weight: 600;
    color: #262626;
}
.evd-empty__sub {
    margin: 0 0 8px;
    font-size: 14px;
    line-height: 20px;
    color: #595959;
}

/* Attendees heading — title + count badge (Brand/50 pill, 12/18 Brand/700). */
.evd-attendees__heading {
    display: flex;
    align-items: center;
    gap: 8px;
}
.evd-attendees__count {
    padding: 2px 8px;
    background: #EBF1FF;
    border-radius: 16px;
    font-size: 12px;
    line-height: 18px;
    font-weight: 500;
    color: #5E69A8;
}

/* Table card (Untitled UI) — r12, Gray/200 border, layered shadow. */
.evd-table-card {
    display: flex;
    flex-direction: column;
    width: 100%;
    background: #FFFFFF;
    border: 1px solid #E9EAEB;
    border-radius: 12px;
    box-shadow: 0px 1px 3px 0px rgba(10, 13, 18, 0.1), 0px 1px 2px 0px rgba(10, 13, 18, 0.06);
    overflow: hidden;
}
/* Filters — two 280px selects, 8px gap, 24/20 pad. */
.evd-table-card__filters {
    display: flex;
    align-items: center;
    gap: 8px;
    padding: 20px 24px 19px;
}
.evd-select {
    width: 280px;
    max-width: 100%;
    padding: 10px 14px;
    background: #FFFFFF;
    border: 1px solid #D5D7DA;
    border-radius: 8px;
    filter: drop-shadow(0px 1px 1px rgba(10, 13, 18, 0.05));
    font-family: inherit;
    font-size: 16px;
    line-height: 24px;
    font-weight: 500;
    color: #181D27;
    cursor: pointer;
}
.evd-table-scroll {
    width: 100%;
    overflow-x: auto;
}
/* Table — header 12/18 medium Gray/600 on Gray/50; cells 72px, 14/20. */
.evd-table {
    width: 100%;
    min-width: 1100px;
    border-collapse: collapse;
}
.evd-table th {
    height: 44px;
    padding: 12px 24px;
    background: #FAFAFA;
    border-bottom: 1px solid #E9EAEB;
    font-size: 12px;
    line-height: 18px;
    font-weight: 500;
    color: #535862;
    text-align: left;
    white-space: nowrap;
}
.evd-table td {
    height: 72px;
    padding: 16px 24px;
    border-bottom: 1px solid #E9EAEB;
    font-size: 14px;
    line-height: 20px;
    font-weight: 400;
    color: #535862;
    white-space: nowrap;
}
.evd-table__name {
    display: block;
    font-weight: 500;
    color: #181D27;
}
.evd-table__email { display: block; color: #535862; }
/* Status badges — Untitled UI success/error/warning pills. */
.evd-tbadge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    padding: 2px 8px 2px 6px;
    border-radius: 16px;
    font-size: 12px;
    line-height: 18px;
    font-weight: 500;
}
.evd-tbadge__dot { width: 8px; height: 8px; border-radius: 50%; }
.evd-tbadge--success { background: #ECFDF3; color: #067647; }
.evd-tbadge--success .evd-tbadge__dot { background: #17B26A; }
.evd-tbadge--error { background: #FEF3F2; color: #B42318; }
.evd-tbadge--error .evd-tbadge__dot { background: #F04438; }
.evd-tbadge--warning { background: #FFFAEB; color: #B54708; }
.evd-tbadge--warning .evd-tbadge__dot { background: #F79009; }
.evd-table__action {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 10px;
    background: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
}
.evd-table__action:hover { background: #FAFAFA; }
.evd-table__action svg { display: block; width: 20px; height: 20px; }
.evd-table__noop { color: #535862; }
/* Footer — Previous/Next + 40px page squares (active Brand/50 r8). */
.evd-table-card__footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 24px 16px;
}
.evd-table-nav { padding: 8px 14px; font-size: 14px; line-height: 20px; }
.evd-table-pages {
    display: flex;
    align-items: center;
    gap: 2px;
    flex-wrap: wrap;
    justify-content: center;
}
.evd-table-page {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 40px;
    height: 40px;
    background: none;
    border: none;
    border-radius: 8px;
    cursor: pointer;
    font-family: inherit;
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    color: #535862;
}
.evd-table-page:hover { background: #FAFAFA; }
.evd-table-page--active { background: #EBF1FF; color: #465DA6; }

/* Upload modal fields. */
.evd-modal--upload {
    display: flex;
    flex-direction: column;
    gap: 20px;
    width: 512px;
    padding: 24px;
}
.evd-modal--upload form {
    display: flex;
    flex-direction: column;
    gap: 16px;
}
.evd-field {
    display: flex;
    flex-direction: column;
    gap: 6px;
}
.evd-field__label {
    font-size: 14px;
    line-height: 20px;
    font-weight: 500;
    color: #414651;
}
.evd-field__input {
    width: 100%;
    padding: 10px 14px;
    background: #FFFFFF;
    border: 1px solid #D5D7DA;
    border-radius: 8px;
    box-shadow: 0px 1px 2px 0px rgba(10, 13, 18, 0.05);
    font-family: inherit;
    font-size: 16px;
    line-height: 24px;
    color: #181D27;
}
.evd-field__input--file { padding: 8px 14px; font-size: 14px; }
.evd-field--check {
    flex-direction: row;
    align-items: center;
    gap: 8px;
    font-size: 14px;
    line-height: 20px;
    color: #414651;
    cursor: pointer;
}
.evd-upload__message {
    font-size: 14px;
    line-height: 20px;
    color: #D92D20;
}

@media (max-width: 768px) {
    .evd-admin-bar {
        flex-direction: column;
        padding: 24px 16px 0;
    }
    .evd-tabs { width: 100%; }
    .evd-tabs__tab { flex: 1; }
    .evd-admin-panel { padding: 24px 16px; }
    .evd-table-card__filters { flex-direction: column; align-items: stretch; }
    .evd-select { width: 100%; }
    .evd-modal--upload { width: 100%; max-width: 512px; }
}
