/* ==========================================
   U3A Single Event Page Styling
   For The Events Calendar V2 + Event Registrations Pro
   Font: DM Sans, Yellow: #FFC800
   ========================================== */

@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&display=swap');

/* ==========================================
   DESIGN TOKENS & GLOBAL FONT
   ========================================== */

body.single-tribe_events {
    --u3a-blue: #2563eb;
    --u3a-blue-dark: #1d4ed8;
    --u3a-yellow: #FFC800;
    --u3a-yellow-dark: #e6b400;
    --u3a-text: #111827;
    --u3a-text-muted: #6b7280;
    --u3a-text-light: #9ca3af;
    --u3a-border: #e5e7eb;
    --u3a-border-light: #f3f4f6;
    --u3a-bg: #ffffff;
    --u3a-bg-alt: #f9fafb;
    --u3a-radius: 12px;
    --u3a-radius-sm: 8px;
    --u3a-shadow-sm: 0 1px 2px rgba(0,0,0,0.04);
    --u3a-shadow: 0 1px 3px rgba(0,0,0,0.06);
    --u3a-shadow-hover: 0 8px 24px rgba(37,99,235,0.12);
}

body.single-tribe_events,
body.single-tribe_events #tribe-events-pg-template,
body.single-tribe_events .tribe-events-content,
body.single-tribe_events .entry-content {
    font-family: "DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif !important;
}

body.single-tribe_events * {
    font-family: inherit !important;
}

/* ==========================================
   "All Events" BACK LINK
   ========================================== */

body.single-tribe_events .tribe-events-back,
body.single-tribe_events .tribe-events-back a {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    color: var(--u3a-blue) !important;
    text-decoration: none !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    margin-bottom: 16px !important;
    transition: color 0.2s ease !important;
}

body.single-tribe_events .tribe-events-back a:hover {
    color: var(--u3a-blue-dark) !important;
    text-decoration: underline !important;
}

/* ==========================================
   EVENT SERIES BANNER
   "Event Series: Weekly Spanish Conversation"
   ========================================== */

body.single-tribe_events [class*="series-label"],
body.single-tribe_events .tribe-events-pro-recurring-info-tooltip-trigger {
    display: inline-flex !important;
    align-items: center !important;
    gap: 6px !important;
    background: rgba(37, 99, 235, 0.08) !important;
    color: var(--u3a-blue) !important;
    padding: 6px 12px !important;
    border-radius: 100px !important;
    font-size: 12px !important;
    font-weight: 600 !important;
    margin-bottom: 12px !important;
}

/* ==========================================
   EVENT TITLE
   ========================================== */

body.single-tribe_events h1,
body.single-tribe_events .tribe-events-single-event-title {
    font-size: 32px !important;
    font-weight: 700 !important;
    color: var(--u3a-text) !important;
    line-height: 1.2 !important;
    margin: 8px 0 12px 0 !important;
    text-transform: none !important;
}

/* ==========================================
   DATE / TIME under title
   ========================================== */

body.single-tribe_events .tribe-events-schedule,
body.single-tribe_events [class*="schedule__datetime"] {
    background: transparent !important;
    border: none !important;
    padding: 0 !important;
    margin: 0 0 24px 0 !important;
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--u3a-text-muted) !important;
}

body.single-tribe_events .tribe-events-schedule h2 {
    font-size: 16px !important;
    font-weight: 500 !important;
    color: var(--u3a-text-muted) !important;
    margin: 0 !important;
}

/* ==========================================
   FEATURED IMAGE
   ========================================== */

body.single-tribe_events .tribe-events-event-image {
    margin: 0 0 24px 0 !important;
    border-radius: var(--u3a-radius) !important;
    overflow: hidden !important;
    box-shadow: var(--u3a-shadow) !important;
}

body.single-tribe_events .tribe-events-event-image img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
    border-radius: var(--u3a-radius) !important;
}

/* ==========================================
   EVENT DESCRIPTION
   ========================================== */

body.single-tribe_events .tribe-events-single-event-description,
body.single-tribe_events [class*="event-description"] {
    font-size: 16px !important;
    line-height: 1.7 !important;
    color: var(--u3a-text) !important;
    margin: 0 0 32px 0 !important;
}

body.single-tribe_events .tribe-events-single-event-description p {
    margin: 0 0 12px 0 !important;
}

/* ==========================================
   ATTENDANCE COUNTER
   "Attendance: 20 / 25"
   ========================================== */

body.single-tribe_events .tribe-tickets__attendance,
body.single-tribe_events [class*="attendance"]:not([class*="attendees-list"]):not([class*="event-meta"]) {
    display: inline-flex !important;
    align-items: center !important;
    gap: 8px !important;
    background: var(--u3a-bg-alt) !important;
    border: 1px solid var(--u3a-border) !important;
    padding: 8px 16px !important;
    border-radius: 100px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    color: var(--u3a-text) !important;
    margin-bottom: 24px !important;
}

body.single-tribe_events .tribe-tickets__attendance::before {
    content: "👥";
    font-size: 14px;
}

/* ==========================================
   "CURRENTLY ATTENDING" LIST
   ========================================== */

body.single-tribe_events #tribe-events-attendees-list,
body.single-tribe_events .tribe-tickets-attendees-list-optout,
body.single-tribe_events .tribe-tickets__attendees-list {
    background: var(--u3a-bg) !important;
    border: 1px solid var(--u3a-border) !important;
    border-radius: var(--u3a-radius) !important;
    padding: 20px !important;
    margin: 16px 0 24px 0 !important;
    box-shadow: var(--u3a-shadow-sm) !important;
}

body.single-tribe_events #tribe-events-attendees-list h2,
body.single-tribe_events #tribe-events-attendees-list h3,
body.single-tribe_events .tribe-tickets-attendees-list-optout h3,
body.single-tribe_events .tribe-tickets__attendees-list h3 {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--u3a-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.5px !important;
    margin: 0 0 12px 0 !important;
}

body.single-tribe_events #tribe-events-attendees-list ol,
body.single-tribe_events #tribe-events-attendees-list ul,
body.single-tribe_events .tribe-tickets-attendees-list-optout ol,
body.single-tribe_events .tribe-tickets-attendees-list-optout ul,
body.single-tribe_events .tribe-tickets__attendees-list ol,
body.single-tribe_events .tribe-tickets__attendees-list ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 4px 24px !important;
}

body.single-tribe_events #tribe-events-attendees-list li,
body.single-tribe_events .tribe-tickets-attendees-list-optout li,
body.single-tribe_events .tribe-tickets__attendees-list li {
    list-style: none !important;
    padding: 4px 0 !important;
    margin: 0 !important;
    font-size: 13px !important;
    color: var(--u3a-text-muted) !important;
}

/* ==========================================
   EVENTS IN THIS SERIES
   ========================================== */

body.single-tribe_events [class*="series-events"],
body.single-tribe_events [class*="recurring-events"] {
    background: var(--u3a-bg) !important;
    border: 1px solid var(--u3a-border) !important;
    border-radius: var(--u3a-radius) !important;
    padding: 20px !important;
    margin: 0 0 24px 0 !important;
    box-shadow: var(--u3a-shadow-sm) !important;
}

body.single-tribe_events [class*="series-events"] ul,
body.single-tribe_events [class*="recurring-events"] ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(auto-fill, minmax(180px, 1fr)) !important;
    gap: 8px !important;
}

body.single-tribe_events [class*="series-events"] li,
body.single-tribe_events [class*="recurring-events"] li {
    padding: 10px 14px !important;
    background: var(--u3a-bg-alt) !important;
    border: 1px solid var(--u3a-border) !important;
    border-radius: var(--u3a-radius-sm) !important;
    font-size: 13px !important;
    color: var(--u3a-text) !important;
    transition: all 0.2s ease !important;
    list-style: none !important;
    margin: 0 !important;
}

body.single-tribe_events [class*="series-events"] li:hover,
body.single-tribe_events [class*="recurring-events"] li:hover {
    background: var(--u3a-bg) !important;
    border-color: var(--u3a-blue) !important;
    transform: translateX(2px) !important;
}

body.single-tribe_events [class*="series-events"] li a,
body.single-tribe_events [class*="recurring-events"] li a {
    color: inherit !important;
    text-decoration: none !important;
    display: block !important;
}

/* ==========================================
   REGISTRATION FORM
   Kills pale blue background, applies clean card
   ========================================== */

body.single-tribe_events form,
body.single-tribe_events .tribe-tickets__rsvp,
body.single-tribe_events .tribe-tickets-rsvp,
body.single-tribe_events .tec-event-registrations,
body.single-tribe_events .tec-event-registration-pro-standard,
body.single-tribe_events div[class*="event-registration"],
body.single-tribe_events div[class*="event-registrations"],
body.single-tribe_events div[class*="register-pro"],
body.single-tribe_events div[id*="event-registration"] {
    background: var(--u3a-bg) !important;
    background-color: var(--u3a-bg) !important;
    border: 1px solid var(--u3a-border) !important;
    border-radius: var(--u3a-radius) !important;
    padding: 24px !important;
    margin: 24px 0 !important;
    box-shadow: var(--u3a-shadow) !important;
}

/* Children inside form are transparent so we don't get nested blue */
body.single-tribe_events form > div,
body.single-tribe_events form > fieldset,
body.single-tribe_events form > p,
body.single-tribe_events form > label,
body.single-tribe_events .tec-event-registrations *,
body.single-tribe_events .tec-event-registration-pro-standard * {
    background: transparent !important;
    background-color: transparent !important;
}

/* Form labels */
body.single-tribe_events form label,
body.single-tribe_events fieldset label {
    display: block !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    color: var(--u3a-text) !important;
    margin: 0 0 6px 0 !important;
    line-height: 1.4 !important;
}

/* Form inputs */
body.single-tribe_events form input[type="text"],
body.single-tribe_events form input[type="email"],
body.single-tribe_events form input[type="tel"],
body.single-tribe_events form input[type="number"],
body.single-tribe_events form input[type="url"],
body.single-tribe_events form input[type="password"],
body.single-tribe_events form textarea,
body.single-tribe_events form select {
    width: 100% !important;
    padding: 10px 14px !important;
    border: 1px solid var(--u3a-border) !important;
    border-radius: var(--u3a-radius-sm) !important;
    background: var(--u3a-bg) !important;
    background-color: var(--u3a-bg) !important;
    font-size: 14px !important;
    color: var(--u3a-text) !important;
    line-height: 1.4 !important;
    height: auto !important;
    margin: 0 0 14px 0 !important;
    box-shadow: none !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    -webkit-appearance: none !important;
    appearance: none !important;
}

body.single-tribe_events form input:focus,
body.single-tribe_events form textarea:focus,
body.single-tribe_events form select:focus {
    outline: none !important;
    border-color: var(--u3a-blue) !important;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.1) !important;
}

body.single-tribe_events form textarea {
    min-height: 80px !important;
    resize: vertical !important;
}

/* Helper text under fields */
body.single-tribe_events form small,
body.single-tribe_events form .description {
    display: block !important;
    font-size: 12px !important;
    color: var(--u3a-text-muted) !important;
    margin: -10px 0 14px 0 !important;
    font-weight: 400 !important;
}

/* Radio buttons + checkboxes, keep them small */
body.single-tribe_events form input[type="radio"],
body.single-tribe_events form input[type="checkbox"] {
    width: auto !important;
    margin: 0 6px 0 0 !important;
    accent-color: var(--u3a-blue) !important;
    height: auto !important;
    padding: 0 !important;
    border-radius: 0 !important;
}

/* ==========================================
   BUTTONS, all variants
   ========================================== */

body.single-tribe_events button,
body.single-tribe_events input[type="submit"],
body.single-tribe_events input[type="button"],
body.single-tribe_events form a.button,
body.single-tribe_events .tribe-common-c-btn,
body.single-tribe_events .button {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 6px !important;
    padding: 10px 22px !important;
    background: var(--u3a-blue) !important;
    background-color: var(--u3a-blue) !important;
    color: #ffffff !important;
    border: none !important;
    border-radius: 100px !important;
    font-size: 14px !important;
    font-weight: 600 !important;
    cursor: pointer !important;
    transition: all 0.2s ease !important;
    box-shadow: 0 2px 4px rgba(37,99,235,0.2) !important;
    text-decoration: none !important;
    line-height: 1.2 !important;
    height: auto !important;
    margin: 0 8px 0 0 !important;
    text-shadow: none !important;
    -webkit-appearance: none !important;
    appearance: none !important;
    text-transform: none !important;
}

body.single-tribe_events button:hover,
body.single-tribe_events input[type="submit"]:hover,
body.single-tribe_events input[type="button"]:hover,
body.single-tribe_events form a.button:hover {
    background: var(--u3a-blue-dark) !important;
    background-color: var(--u3a-blue-dark) !important;
    color: #ffffff !important;
    box-shadow: 0 6px 16px rgba(37,99,235,0.25) !important;
    transform: translateY(-1px) !important;
}

/* "+ Add U3A Member" button (yellow secondary) */
body.single-tribe_events button[class*="add"],
body.single-tribe_events button[id*="add"],
body.single-tribe_events a[class*="add-attendee"],
body.single-tribe_events input[value*="Add"],
body.single-tribe_events input[value^="+"] {
    background: var(--u3a-yellow) !important;
    background-color: var(--u3a-yellow) !important;
    color: var(--u3a-text) !important;
    box-shadow: 0 2px 4px rgba(255, 200, 0, 0.3) !important;
}

body.single-tribe_events button[class*="add"]:hover,
body.single-tribe_events input[value*="Add"]:hover,
body.single-tribe_events input[value^="+"]:hover {
    background: var(--u3a-yellow-dark) !important;
    background-color: var(--u3a-yellow-dark) !important;
    color: var(--u3a-text) !important;
    box-shadow: 0 6px 16px rgba(255, 200, 0, 0.35) !important;
}

/* ==========================================
   "ADD TO CALENDAR" button (yellow)
   ========================================== */

body.single-tribe_events .tribe-events-c-subscribe-dropdown__button,
body.single-tribe_events .tribe-events-cal-links a,
body.single-tribe_events a[class*="ical"],
body.single-tribe_events a[class*="gcal"],
body.single-tribe_events button[class*="subscribe"] {
    background: var(--u3a-yellow) !important;
    background-color: var(--u3a-yellow) !important;
    color: var(--u3a-text) !important;
    border-radius: 100px !important;
    padding: 10px 22px !important;
    font-weight: 600 !important;
    box-shadow: 0 2px 4px rgba(255, 200, 0, 0.3) !important;
    text-decoration: none !important;
    border: none !important;
    margin: 0 0 32px 0 !important;
}

body.single-tribe_events .tribe-events-c-subscribe-dropdown__button:hover,
body.single-tribe_events .tribe-events-cal-links a:hover {
    background: var(--u3a-yellow-dark) !important;
    background-color: var(--u3a-yellow-dark) !important;
    color: var(--u3a-text) !important;
    box-shadow: 0 6px 16px rgba(255, 200, 0, 0.35) !important;
    transform: translateY(-1px) !important;
}

/* "Add to Calendar" dropdown menu */
body.single-tribe_events .tribe-events-c-subscribe-dropdown__content,
body.single-tribe_events [class*="subscribe-dropdown__content"] {
    border: 1px solid var(--u3a-border) !important;
    border-radius: var(--u3a-radius-sm) !important;
    box-shadow: var(--u3a-shadow-hover) !important;
    background: var(--u3a-bg) !important;
    overflow: hidden !important;
}

body.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item a {
    padding: 10px 14px !important;
    font-size: 13px !important;
    color: var(--u3a-text) !important;
    background: transparent !important;
    box-shadow: none !important;
    border-radius: 0 !important;
    margin: 0 !important;
    transition: background 0.15s ease !important;
}

body.single-tribe_events .tribe-events-c-subscribe-dropdown__list-item a:hover {
    background: var(--u3a-bg-alt) !important;
    color: var(--u3a-blue) !important;
    transform: none !important;
}

/* ==========================================
   DETAILS / VENUE / ORGANIZER / OTHER PANEL
   Single unified card with internal dividers
   ========================================== */

body.single-tribe_events .tribe-events-event-meta,
body.single-tribe_events .tribe-events-meta-group-wrapper {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 0 !important;
    background: var(--u3a-bg) !important;
    border: 1px solid var(--u3a-border) !important;
    border-radius: var(--u3a-radius) !important;
    overflow: hidden !important;
    margin: 24px 0 !important;
    box-shadow: var(--u3a-shadow-sm) !important;
    padding: 0 !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

/* Each meta group is a cell in the grid */
body.single-tribe_events .tribe-events-meta-group {
    background: transparent !important;
    border: none !important;
    border-radius: 0 !important;
    box-shadow: none !important;
    padding: 24px !important;
    margin: 0 !important;
    border-right: 1px solid var(--u3a-border-light) !important;
    border-bottom: 1px solid var(--u3a-border-light) !important;
    box-sizing: border-box !important;
    min-width: 0 !important;
    width: auto !important;
    float: none !important;
}

/* Right column: no right border */
body.single-tribe_events .tribe-events-meta-group:nth-child(2n) {
    border-right: none !important;
}

/* Last row: no bottom border */
body.single-tribe_events .tribe-events-meta-group:nth-last-child(-n+2) {
    border-bottom: none !important;
}

/* Odd number of groups: last one spans full width */
body.single-tribe_events .tribe-events-meta-group:last-child:nth-child(odd) {
    grid-column: 1 / -1 !important;
    border-right: none !important;
}

/* Section headings: DETAILS, VENUE, ORGANIZER, OTHER */
body.single-tribe_events .tribe-events-meta-group .tribe-events-single-section-title,
body.single-tribe_events .tribe-events-meta-group h2,
body.single-tribe_events .tribe-events-meta-group h3 {
    font-size: 11px !important;
    font-weight: 700 !important;
    color: var(--u3a-text-muted) !important;
    text-transform: uppercase !important;
    letter-spacing: 0.6px !important;
    margin: 0 0 14px 0 !important;
    padding: 0 !important;
    border: none !important;
    line-height: 1.3 !important;
}

/* Field labels */
body.single-tribe_events .tribe-events-meta-group dl {
    margin: 0 !important;
    padding: 0 !important;
}

body.single-tribe_events .tribe-events-meta-group dt,
body.single-tribe_events .tribe-events-meta-group strong {
    font-size: 12px !important;
    color: var(--u3a-text-muted) !important;
    font-weight: 500 !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    margin: 14px 0 4px 0 !important;
    padding: 0 !important;
    display: block !important;
    line-height: 1.3 !important;
}

body.single-tribe_events .tribe-events-meta-group dt:first-child,
body.single-tribe_events .tribe-events-meta-group strong:first-child {
    margin-top: 0 !important;
}

/* Field values */
body.single-tribe_events .tribe-events-meta-group dd,
body.single-tribe_events .tribe-events-meta-group p {
    font-size: 14px !important;
    color: var(--u3a-text) !important;
    font-weight: 500 !important;
    margin: 0 0 8px 0 !important;
    padding: 0 !important;
    line-height: 1.5 !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}

body.single-tribe_events .tribe-events-meta-group dd:last-child,
body.single-tribe_events .tribe-events-meta-group p:last-child {
    margin-bottom: 0 !important;
}

body.single-tribe_events .tribe-events-meta-group a {
    color: var(--u3a-blue) !important;
    text-decoration: none !important;
    word-break: break-word !important;
    overflow-wrap: break-word !important;
}

body.single-tribe_events .tribe-events-meta-group a:hover {
    text-decoration: underline !important;
}

/* Long URLs in website field, truncate with ellipsis */
body.single-tribe_events .tribe-events-meta-group dd a[href^="http"] {
    display: inline-block !important;
    max-width: 100% !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    white-space: nowrap !important;
    vertical-align: bottom !important;
}

/* ==========================================
   VENUE MAP
   ========================================== */

body.single-tribe_events .tribe-events-venue-map,
body.single-tribe_events #tribe-events-venue-map,
body.single-tribe_events .tribe-events-meta-group-gmap > div,
body.single-tribe_events .tribe-events-meta-group-gmap {
    max-width: 100% !important;
    width: 100% !important;
    height: 200px !important;
    border-radius: var(--u3a-radius-sm) !important;
    margin: 12px 0 0 0 !important;
    overflow: hidden !important;
    border: 1px solid var(--u3a-border) !important;
    box-sizing: border-box !important;
}

body.single-tribe_events .tribe-events-venue-map iframe,
body.single-tribe_events #tribe-events-venue-map iframe,
body.single-tribe_events .tribe-events-meta-group-gmap iframe {
    width: 100% !important;
    height: 100% !important;
    border-radius: var(--u3a-radius-sm) !important;
    display: block !important;
    border: none !important;
}

/* Hide empty gmap container */
body.single-tribe_events .tribe-events-meta-group-gmap:empty {
    display: none !important;
}

/* ==========================================
   RELATED EVENTS
   ========================================== */

body.single-tribe_events .tribe-related-events,
body.single-tribe_events [class*="related-events"] {
    margin-top: 48px !important;
    padding-top: 32px !important;
    border-top: 1px solid var(--u3a-border) !important;
}

body.single-tribe_events .tribe-related-events h2,
body.single-tribe_events .tribe-related-events h3,
body.single-tribe_events [class*="related-events"] h2,
body.single-tribe_events [class*="related-events"] h3 {
    font-size: 24px !important;
    font-weight: 700 !important;
    color: var(--u3a-text) !important;
    margin: 0 0 20px 0 !important;
    text-transform: none !important;
}

body.single-tribe_events .tribe-related-events ul,
body.single-tribe_events [class*="related-events"] ul {
    list-style: none !important;
    padding: 0 !important;
    margin: 0 !important;
    display: grid !important;
    grid-template-columns: repeat(3, 1fr) !important;
    gap: 16px !important;
}

body.single-tribe_events .tribe-related-events li,
body.single-tribe_events [class*="related-events"] li {
    list-style: none !important;
    margin: 0 !important;
    background: var(--u3a-bg) !important;
    border: 1px solid var(--u3a-border) !important;
    border-radius: var(--u3a-radius) !important;
    overflow: hidden !important;
    transition: all 0.25s ease !important;
}

body.single-tribe_events .tribe-related-events li:hover {
    transform: translateY(-3px) !important;
    box-shadow: var(--u3a-shadow-hover) !important;
    border-color: var(--u3a-blue) !important;
}

body.single-tribe_events .tribe-related-events img,
body.single-tribe_events [class*="related-events"] img {
    width: 100% !important;
    height: 160px !important;
    object-fit: cover !important;
    display: block !important;
    border-radius: 0 !important;
    margin: 0 !important;
    transition: transform 0.4s ease !important;
}

body.single-tribe_events .tribe-related-events li:hover img {
    transform: scale(1.04) !important;
}

body.single-tribe_events .tribe-related-events-title-link,
body.single-tribe_events .tribe-related-events h3 a,
body.single-tribe_events [class*="related-events"] h3 a,
body.single-tribe_events [class*="related-events"] li a {
    font-size: 15px !important;
    font-weight: 700 !important;
    color: var(--u3a-text) !important;
    text-decoration: none !important;
    display: block !important;
    padding: 12px 16px 4px 16px !important;
    line-height: 1.3 !important;
}

body.single-tribe_events .tribe-related-events li a:hover {
    color: var(--u3a-blue) !important;
}

body.single-tribe_events .tribe-related-events li time,
body.single-tribe_events [class*="related-events"] li time {
    font-size: 12px !important;
    color: var(--u3a-text-muted) !important;
    padding: 0 16px 12px 16px !important;
    display: block !important;
}

/* ==========================================
   PREV/NEXT NAVIGATION
   ========================================== */

body.single-tribe_events #tribe-events-footer,
body.single-tribe_events .tribe-events-nav-pagination,
body.single-tribe_events nav[aria-label*="event"] {
    display: flex !important;
    justify-content: space-between !important;
    align-items: center !important;
    gap: 16px !important;
    margin: 32px 0 !important;
    padding: 16px 0 !important;
    border-top: 1px solid var(--u3a-border) !important;
    border-bottom: 1px solid var(--u3a-border) !important;
    flex-wrap: wrap !important;
    background: transparent !important;
}

body.single-tribe_events #tribe-events-footer a,
body.single-tribe_events .tribe-events-nav-pagination a {
    color: var(--u3a-text-muted) !important;
    text-decoration: none !important;
    font-size: 13px !important;
    font-weight: 600 !important;
    transition: color 0.2s ease !important;
    background: transparent !important;
    box-shadow: none !important;
    padding: 8px 12px !important;
    border-radius: var(--u3a-radius-sm) !important;
}

body.single-tribe_events #tribe-events-footer a:hover,
body.single-tribe_events .tribe-events-nav-pagination a:hover {
    color: var(--u3a-blue) !important;
    background: var(--u3a-bg-alt) !important;
    transform: none !important;
}

/* ==========================================
   CANCELLATION NOTICE
   ========================================== */

body.single-tribe_events .tribe-events-cancellation-notice,
body.single-tribe_events .entry-content > p:last-of-type {
    background: var(--u3a-bg-alt) !important;
    border-left: 3px solid var(--u3a-yellow) !important;
    padding: 14px 18px !important;
    border-radius: var(--u3a-radius-sm) !important;
    font-size: 13px !important;
    color: var(--u3a-text-muted) !important;
    line-height: 1.6 !important;
    margin-top: 24px !important;
}

/* ==========================================
   RESPONSIVE
   ========================================== */

@media (max-width: 768px) {
    body.single-tribe_events h1,
    body.single-tribe_events .tribe-events-single-event-title {
        font-size: 24px !important;
    }

    body.single-tribe_events form,
    body.single-tribe_events .tec-event-registrations,
    body.single-tribe_events .tec-event-registration-pro-standard {
        padding: 16px !important;
    }

    body.single-tribe_events .tribe-events-event-meta,
    body.single-tribe_events .tribe-events-meta-group-wrapper {
        grid-template-columns: 1fr !important;
    }

    body.single-tribe_events .tribe-events-meta-group {
        border-right: none !important;
    }

    body.single-tribe_events .tribe-events-meta-group:nth-last-child(-n+2) {
        border-bottom: 1px solid var(--u3a-border-light) !important;
    }

    body.single-tribe_events .tribe-events-meta-group:last-child {
        border-bottom: none !important;
    }

    body.single-tribe_events #tribe-events-attendees-list ol,
    body.single-tribe_events #tribe-events-attendees-list ul,
    body.single-tribe_events .tribe-tickets-attendees-list-optout ol,
    body.single-tribe_events .tribe-tickets-attendees-list-optout ul,
    body.single-tribe_events .tribe-tickets__attendees-list ol,
    body.single-tribe_events .tribe-tickets__attendees-list ul {
        grid-template-columns: 1fr !important;
    }

    body.single-tribe_events .tribe-related-events ul,
    body.single-tribe_events [class*="related-events"] ul {
        grid-template-columns: 1fr !important;
    }

    body.single-tribe_events button,
    body.single-tribe_events input[type="submit"] {
        width: 100% !important;
        margin: 0 0 8px 0 !important;
    }
}