/*
    Event Detail — SC Design System (no Figma node; DS tokens + migrated-sample
    conventions). PAYMENT-SAFE: this stylesheet ONLY overrides the look of the
    existing EventDetail markup (same class names). No markup or JS is changed —
    the original view (Stripe registration, ticket panel, discount, waitlist,
    Zoom) is rendered verbatim exactly once, so payments are byte-for-byte
    unchanged. Loaded AFTER the view's inline <style>, scoped under .ed so it
    wins on specificity without touching anything else.

    Tokens: Inter; Brand/600 #465DA6, Brand/700 #384A85, Brand/25 #F6F9FF;
    Gray/900 #181D27, Gray/700 #414651, Gray/600 #535862, Gray/500 #717680,
    Gray/300 #D5D7DA, Gray/200 #E9EAEB, Gray/100 #F5F5F5; Success/600 #039855.
    Radius 8/12. The original view already ships @media 768/992 rules, so the
    single rendered body stays responsive on desktop and mobile.
*/

.ed { font-family: 'Inter', sans-serif; color: #535862; }
.ed * { box-sizing: border-box; }
.ed .event-detail-container { padding: 48px 0; }

.ed .back-link { color: #465DA6; font-weight: 600; text-decoration: none; }
.ed .back-link:hover { color: #384A85; text-decoration: underline; }

.ed .event-detail-card,
.ed .event-sidebar {
    background: #FFFFFF;
    border: 1px solid #E9EAEB;
    border-radius: 12px;
    box-shadow: 0 1px 2px 0 rgba(10, 13, 18, 0.05);
}
.ed .event-detail-content { padding: 24px; }

.ed .event-hero, .ed .event-hero-placeholder { background: #465DA6; }
.ed .event-hero-placeholder { color: rgba(255, 255, 255, 0.7); }
.ed .event-status-badge,
.ed .event-mode-badge,
.ed .event-format-badge {
    border-radius: 9999px;
    font-weight: 600;
    font-size: 12px;
    line-height: 18px;
    letter-spacing: .02em;
}
.ed .event-status-badge.status-upcoming { background: #465DA6; color: #FFFFFF; }
.ed .event-status-badge.status-ongoing  { background: #039855; color: #FFFFFF; }
.ed .event-status-badge.status-past     { background: #717680; color: #FFFFFF; }
.ed .event-mode-badge, .ed .event-format-badge { background: rgba(255, 255, 255, 0.95); color: #181D27; }

.ed .event-datetime, .ed .event-datetime-item { color: #465DA6; font-size: 14px; line-height: 20px; }
.ed .event-time-divider { color: #D5D7DA; }
.ed .event-title { color: #181D27; font-weight: 600; font-size: 30px; line-height: 38px; letter-spacing: -.01em; }

.ed .btn-edit {
    border: 1px solid #D5D7DA; border-radius: 8px; color: #414651;
    padding: 8px 14px; text-decoration: none; font-weight: 600; font-size: 14px; background: #FFFFFF;
}
.ed .btn-edit:hover { background: #F5F5F5; color: #181D27; }

.ed .event-tabs { border-bottom: 1px solid #E9EAEB; gap: 8px; }
.ed .event-tabs .nav-link {
    color: #717680; font-weight: 600; font-size: 16px; line-height: 24px;
    border: none; border-bottom: 2px solid transparent; background: transparent; padding: 12px 16px;
}
.ed .event-tabs .nav-link:hover { color: #465DA6; }
.ed .event-tabs .nav-link.active { color: #465DA6; border-bottom-color: #465DA6; background: transparent; }

.ed .section-title { color: #181D27; font-weight: 600; font-size: 18px; line-height: 28px; }
.ed .section-title i { color: #465DA6; }
.ed .section-content, .ed .event-description-content { color: #535862; font-size: 16px; line-height: 24px; }

.ed .location-card {
    background: #F6F9FF; border: 1px solid #E9EAEB; border-radius: 12px;
}
.ed .location-card.online { background: #F6F9FF; }
.ed .location-icon { color: #465DA6; }
.ed .location-details strong { color: #181D27; }
.ed .location-details small { color: #717680; }

.ed .speakers-grid { gap: 16px; }
.ed .speaker-card { background: #FFFFFF; border: 1px solid #E9EAEB; border-radius: 12px; }
.ed .speaker-avatar-circle { background: #465DA6; color: #FFFFFF; font-weight: 600; }
.ed .speaker-info strong { color: #181D27; }
.ed .speaker-info small { color: #717680; }

.ed .materials-list { gap: 12px; }
.ed .material-item { background: #FFFFFF; border: 1px solid #E9EAEB; border-radius: 12px; }
.ed .material-icon { color: #465DA6; }
.ed .material-title { color: #181D27; font-weight: 600; }
.ed .material-download-btn,
.ed .btn-primary {
    background: #465DA6; border: 1px solid #465DA6; border-radius: 8px;
    color: #FFFFFF; font-weight: 600;
}
.ed .material-download-btn:hover, .ed .btn-primary:hover { background: #384A85; border-color: #384A85; color: #FFFFFF; }

.ed .attendees-header h5 { color: #181D27; font-weight: 600; }
.ed .attendee-count { color: #717680; }
.ed .attendees-table thead th { color: #414651; font-weight: 600; border-bottom: 1px solid #E9EAEB; }
.ed .attendees-table td { color: #535862; border-bottom: 1px solid #F5F5F5; }
.ed .empty-attendees { color: #717680; }
.ed .empty-attendees i { color: #D5D7DA; }

.ed .sidebar-title { color: #181D27; font-weight: 600; font-size: 18px; line-height: 28px; }
.ed .sidebar-title i, .ed .info-icon i { color: #465DA6; }
.ed .sidebar-info-item { border-bottom: 1px solid #F5F5F5; }
.ed .sidebar-info-item-clickable { cursor: pointer; }
.ed .sidebar-info-item-clickable:hover { background: #F6F9FF; }
.ed .info-content small { color: #717680; }
.ed .info-content strong { color: #181D27; }

/* Registration / Stripe controls — visual only; behaviour untouched */
.ed .registration-section { border-top: 1px solid #E9EAEB; }
.ed .btn-register,
.ed .btn-join-event {
    background: #465DA6; border: 1px solid #465DA6; border-radius: 8px;
    color: #FFFFFF; font-weight: 600; font-size: 16px; line-height: 24px;
}
.ed .btn-register:hover, .ed .btn-join-event:hover { background: #384A85; border-color: #384A85; color: #FFFFFF; }
.ed .btn-registered { background: #039855; border: 1px solid #039855; border-radius: 8px; color: #FFFFFF; font-weight: 600; }
.ed .btn-cancel-registration {
    background: #FFFFFF; border: 1px solid #D5D7DA; border-radius: 8px; color: #B42318; font-weight: 600;
}
.ed .btn-cancel-registration:hover { background: #FEF3F2; border-color: #FDA29B; color: #912018; }
.ed .btn-register-outline,
.ed .btn-join-event-outline,
.ed .btn-outline-primary {
    background: #FFFFFF; border: 1px solid #465DA6; border-radius: 8px; color: #465DA6; font-weight: 600;
}
.ed .btn-register-outline:hover, .ed .btn-join-event-outline:hover, .ed .btn-outline-primary:hover { background: #F6F9FF; color: #384A85; }
.ed .btn-outline-secondary { border-radius: 8px; border: 1px solid #D5D7DA; color: #414651; }
.ed .btn-outline-secondary:hover { background: #F5F5F5; color: #181D27; }

.ed .card { border: 1px solid #E9EAEB; border-radius: 12px; }
.ed .card-header { background: #F6F9FF; }
.ed .form-control {
    border: 1px solid #D5D7DA; border-radius: 8px;
    font-family: 'Inter', sans-serif; color: #181D27;
}
.ed .form-control:focus { outline: none; border-color: #465DA6; box-shadow: 0 0 0 3px rgba(70, 93, 166, 0.15); }

.ed .modal-content { border: none; border-radius: 12px; }
.ed .modal-title { color: #181D27; font-weight: 600; }
.ed .badge.bg-success { background: #039855 !important; }
.ed .badge.bg-secondary { background: #717680 !important; }
.ed .spinner-border { color: #465DA6 !important; }
