/* IMH Event Agenda — List Layout Styles
   Class names are preserved from the original plugins for backwards compatibility. */

/* ── AGENDA WRAPPER ─────────────────────────────────────────────── */
.event-agenda {
    display: flex;
    flex-direction: column;
    width: 100%;
    border-radius: 25px;
}

/* ── GRID ROWS ──────────────────────────────────────────────────── */
.cssportal-grid {
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    border-top: dotted thin #fff;
}
.cssportal-grid:first-child { border-radius: 15px 0 0 0; overflow: hidden; border-top: 0; }
.cssportal-grid:last-child  { border-radius: 0 0 0 15px; overflow: hidden; }

/* ── AGENDA HEADER (time + title row) ──────────────────────────── */
.agenda-header {
    display: flex;
    align-items: center;
    border-top: solid thin white;
}
.agenda-header:first-of-type { border-top: none; }

/* ── COLUMN WIDTHS ──────────────────────────────────────────────── */
.div1, .div3, .div5 {
    width: 20%;
    font-size: 16px;
    background-color: white;
    padding: 10px;
}
.div2, .div4, .div6 { font-size: 16px; }

.div1 {
    padding: 10px;
    text-align: right;
    font-weight: bold;
    white-space: nowrap;
    word-spacing: -5px;
}
.div2 {
    flex: 1;
    padding: 0 10px;
    text-align: left;
    font-size: 20px;
    font-weight: 900;
    line-height: 16px;
    align-content: center;
}
.div4 { flex: 1; padding: 0 10px; text-align: justify; }
.div4 p:last-of-type { margin-block-end: auto; }
.div3.title { padding: 0; }

/* ── AGENDA CONTENT (notes row) ────────────────────────────────── */
.agenda-content { display: flex; }

/* ── CATEGORY / SPECIAL TITLE ───────────────────────────────────── */
.special-title {
    text-align: left;
    font-size: 23px;
    margin: 0 0 0 -10px;
    padding: 10px 25px 15px 25px;
    border-radius: 0 15px 15px 0;
    width: 90%;
    font-family: var(--e-global-typography-primary-font-family), Sans-serif;
    font-weight: 600;
    display: inline-flex;
    align-items: center;
}

/* ── TITLE ROW WITH POWER BY ────────────────────────────────────── */
.agenda-title-row {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}
.agenda-title-left { flex: 1; }
.agenda-poweredby  { font-size: 0.8em; opacity: 0.75; white-space: nowrap; }
.agenda-poweredby-text { font-style: italic; }
.agenda-poweredby-value { font-weight: 600; }

/* ── SPEAKERS ────────────────────────────────────────────────────── */
.speaker-container, .moderator-container {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
}
.speaker-box, .moderator-box {
    display: flex;
    align-items: stretch;
    border-radius: 5px;
    width: 100%;
}
.div5 { display: flex; justify-content: right; align-items: center; padding: 0 10px !important; }
.div6 { display: flex; flex: 1; align-items: center; padding: 0 5px; }
.div61 { display: flex; justify-content: center; align-items: center; }
.div62 { width: 100%; padding-left: 10px; }
.div62 p { margin: 0; font-size: 18px; line-height: 20px; }
.div5 img { width: 88px; }
.div6 img { width: 40px; border-radius: 50% !important; }

.company-logo  { max-width: 87px; height: auto; border-radius: 5px; }
.speaker-photo, .moderator-photo {
    max-width: 100%;
    height: auto;
    border-radius: 50%;
    object-fit: cover;
}

/* ── AWARD STRIPE ────────────────────────────────────────────────── */
.award-stripe {
    background-color: #bd8909;
    font-weight: bold;
    border-radius: 5px;
    padding: 10px;
    display: flex;
    align-items: center;
    color: white !important;
}
.award-sponsor-logo { max-width: 60px; height: auto; border-radius: 5px; }
.div1.award-hours   { background: #bd8909; }
.div3.logoawards {
    position: absolute;
    right: 10px;
    width: 100px;
    border-radius: 50%;
    overflow: hidden;
    background: #bd8909;
}
.div3.logoawards.origin {
    display: flex;
    align-items: center;
    height: 100px;
    position: absolute;
    right: 10px;
    width: 100px;
    border-radius: 50%;
    overflow: hidden;
    background: #bd8909;
}

/* ── EDIT BUTTON ─────────────────────────────────────────────────── */
.agenda-edit-btn {
    display: inline-block;
    margin-left: 8px;
    color: #333;
    opacity: 0.45;
    transition: opacity 0.25s ease;
    text-decoration: none !important;
    vertical-align: middle;
}
.agenda-edit-btn:hover { opacity: 1; color: #000; }
.agenda-edit-btn svg   { width: 16px; height: 16px; }

/* ── RESPONSIVE ──────────────────────────────────────────────────── */
@media screen and (max-width: 768px) {
    .div1 { white-space: normal !important; word-spacing: normal !important; text-align: center; }
    .div62 p { margin: 0; font-size: 16px; line-height: 15px; }
    .div5 { padding: 0; }
    .div6 { padding: 3px 5px; }
    .special-title { font-size: 19px; width: 100%; padding: 8px; display: flow-root; }
    .special-title img { vertical-align: middle; }
    .div3.logoawards.origin {
        display: flex;
        align-items: center;
        height: auto;
        position: static;
        width: 100px;
        border-radius: 50%;
        overflow: hidden;
        background: #bd8909;
        padding: 0;
    }
}

/* ── LIST VIEW (ts-list-*) ─────────────────────────────────────── */
.ts-agenda-list-wrapper {
    width: 100%;
    max-width: 1030px;
    margin: 0 auto;
    padding: 10px;
}
.ts-list-item {
    display: flex;
    padding: 25px 0;
    border-bottom: 1px solid var(--ts-border-color, #e0e0e0);
}
.ts-list-item-time {
    flex: 0 0 150px;
    font-weight: 600;
    font-size: 16px;
    color: #555;
    padding-right: 20px;
}
.ts-list-item-details   { flex: 1 1 auto; }
.ts-list-event-title    { font-size: 20px; font-weight: 700; margin: 5px 0 10px; color: #222; }
.ts-list-event-notes    { color: #444; line-height: 1.6; margin-bottom: 20px; }
.ts-list-event-notes p  { margin: 0 0 1em; }

.ts-list-speakers-list, .ts-list-moderators-list { margin-top: 15px; }
.ts-list-section-title  { display: block; font-weight: bold; color: #333; margin-bottom: 10px; }
.ts-list-speaker        { display: flex; align-items: center; margin-bottom: 15px; color: #333; }
.ts-list-speaker-photo  { width: 45px; height: 45px; border-radius: 50%; margin-right: 10px; object-fit: cover; flex-shrink: 0; }
.ts-list-speaker-info   { display: flex; flex-direction: column; }
.ts-list-speaker-name   { font-weight: bold; }
.ts-list-speaker-job    { color: #666; font-size: 0.9em; }

/* Venue tabs */
.ts-list-tabs-container { width: 100%; margin-top: 20px; }
.ts-list-tab-input      { display: none !important; }
.ts-list-tab-labels     { border-bottom: 2px solid #e0e0e0; margin-bottom: 20px; display: flex; flex-wrap: wrap; }
.ts-list-tab-label      { padding: 8px; cursor: pointer; font-size: 16px; font-weight: 500; color: #555; margin-bottom: -2px; border-bottom: 2px solid transparent; transition: color 0.2s ease, border-color 0.2s ease; }
.ts-list-tab-label:hover { color: #000; }
.ts-list-tab-content        { display: none; }
.ts-list-tab-content-wrapper { padding-top: 10px; }

/* Day tabs for list */
.ts-main-day-tab-labels { display: flex; flex-wrap: wrap; border-bottom: 2px solid #e0e0e0; margin-bottom: 20px; }
.ts-main-day-content    { display: none; }

/* ICS link */
.ts-ics-wrap    { margin-top: 6px; }
.ts-ics-link    { display: inline-flex; align-items: center; gap: 6px; text-decoration: none; font-size: 13px; opacity: 0.85; }
.ts-ics-link:hover { opacity: 1; }
.ts-ics-icon    {
    width: 16px; height: 16px; display: inline-block;
    background-repeat: no-repeat; background-size: contain;
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%234285f4' d='M7 2h2v2h6V2h2v2h3a1 1 0 0 1 1 1v15a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V5a1 1 0 0 1 1-1h3V2Zm12 6H5v12h14V8Z'/%3E%3C/svg%3E");
}
.ts-ics-text { border-bottom: 1px dotted currentColor; }

/* Live Now badge */
.ts-live-now {
    display: inline-block;
    margin-left: 8px;
    padding: 2px 6px;
    font-size: 11px;
    font-weight: 700;
    color: #fff;
    background: #e53935;
    border-radius: 3px;
    line-height: 1.2;
    vertical-align: middle;
}

/* PDF icon */
.ts-pdf-icon { color: #d32f2f; vertical-align: middle; }

/* Mobile/Desktop time display */
.ts-time-venue-inline { display: none; }
.ts-time-only, .ts-venue-only, .ts-ics-wrap { display: block; }
.ts-time-only { font-weight: 600; }
.ts-venue-only { margin-top: 6px; color: #666; }
.ts-ics-wrap { margin-top: 6px; }
.ts-ics-link--mobile { display: none; }
.ts-ics-wrap--desktop { display: block; float: none; margin-top: 6px; }

@media (max-width: 600px) {
    .ts-list-item       { flex-direction: column; }
    .ts-list-item-time  { flex-basis: auto; padding-right: 0; margin-bottom: 6px; display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
    .ts-time-venue-inline { display: inline; font-weight: 600; }
    .ts-time-only, .ts-venue-only, .ts-ics-wrap--desktop { display: none; }
    .ts-ics-link--mobile { display: inline-flex; align-items: center; margin-left: 8px; }
    .ts-live-now        { font-size: 12px; }
}
