/*
 * DXPX Agenda Frontend Styles v4.0 - Clean Rebuild
 *
 * Redesigned for a more professional, modern, and clean appearance.
 * Uses CSS variables for a consistent and maintainable theme.
 */


:root {
    --dxpx-primary-color: #005A9C; /* A deeper, more professional blue */
    --dxpx-primary-color-light: #e6f0f6;
    --dxpx-text-primary: #212529; /* Dark gray for high contrast text */
    --dxpx-text-secondary: #495057;
    --dxpx-text-secondary: #5a6167; /* Slightly lighter for secondary info */
    --dxpx-bg-light: #f8f9fa; /* A very light gray for the overall background */
    --dxpx-bg-card: #ffffff; /* White for card elements */
    --dxpx-bg-card-alt: #f1f3f5; /* Light gray for alternate rows */
    --dxpx-border-color: #dee2e6; /* A subtle, standard border color */
    --dxpx-font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    --dxpx-border-radius: 6px;
    --dxpx-shadow: 0 4px 6px rgba(0, 0, 0, 0.04);
    --dxpx-shadow-sm: 0 2px 4px rgba(0, 0, 0, 0.03);
    --dxpx-shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.06);
    --dxpx-transition: all 0.2s ease-in-out;
}

.dxpx-agenda-frontend-wrap {
    font-family: var(--dxpx-font-family);
    color: var(--dxpx-text-primary);
    background-color: transparent;
    border: none;
    max-width: 1100px;
    max-width: 1200px; /* Slightly wider for more breathing room */
    margin: 30px auto;
}

.dxpx-agenda-frontend-title {
    font-size: 32px;
    font-weight: 700;
    color: var(--dxpx-text-primary);
    margin-top: 0;
    margin-bottom: 25px;
    margin-bottom: 35px;
    text-align: center;
}

.dxpx-agenda-track-description {
    font-size: 15px;
    color: var(--dxpx-text-secondary);
    margin-top: 8px;
    line-height: 1.6;
    font-weight: 400;
}

.dxpx-agenda-track-location {
    font-size: 14px;
    color: var(--dxpx-text-secondary);
    margin-top: 4px;
    display: block;
    font-weight: 400;
}

.dxpx-agenda-track-description p {
    margin: 0 0 0.5em 0;
}

.dxpx-agenda-track-description p:last-child {
    margin-bottom: 0;
}


/* Event Info Box */
.dxpx-agenda-frontend-event-info {
    background-color: var(--dxpx-primary-color-light);
    border-left: 4px solid var(--dxpx-primary-color);
    padding: 20px 25px;
    margin-bottom: 30px;
    border-radius: var(--dxpx-border-radius);
    box-shadow: var(--dxpx-shadow-sm);
}

.dxpx-agenda-frontend-event-info h3 {
    font-size: 22px;
    color: var(--dxpx-primary-color);
    margin: 0 0 10px 0;
}

.dxpx-agenda-frontend-event-info p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    color: var(--dxpx-text-secondary);
}

/* Day Container */
.dxpx-agenda-frontend-day {
    margin-bottom: 40px; /* Add space between days */
    margin-bottom: 50px; /* Add more space between days */
}

.dxpx-agenda-frontend-day-date {
    font-size: 24px;
    font-weight: 600;
    color: var(--dxpx-text-primary);
    background-color: var(--dxpx-bg-light);
    padding: 15px 25px;
    margin: 0 0 20px 0;
    border-radius: var(--dxpx-border-radius);
    border: 1px solid var(--dxpx-border-color);
    border: none;
    position: sticky;
    top: 0; /* Make day header sticky */
    z-index: 10;
}

/* Day header layout: date/title + actions (button) aligned */
.dxpx-agenda-frontend-day-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 16px;
}

.dxpx-agenda-frontend-day-heading {
    display: flex;
    flex-direction: column;
}

.dxpx-agenda-frontend-day-title {
    font-size: 15px;
    color: var(--dxpx-text-secondary);
    margin-top: 6px;
}

.dxpx-agenda-frontend-actions {
    display: flex;
    align-items: center;
}

.dxpx-export-pdf-btn {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 8px 12px;
    font-size: 14px;
    border-radius: 6px;
}

.dxpx-export-pdf-btn .dashicons {
    font-size: 18px;
    line-height: 1;
}

/* Hide the textual label on small screens, show only icon */
@media (max-width: 640px) {
    .dxpx-export-pdf-btn { padding: 8px; }
    .dxpx-export-pdf-btn .dxpx-export-text { display: none; }
}

.dxpx-agenda-frontend-day-content {
    border: 1px solid var(--dxpx-border-color);
    border-radius: var(--dxpx-border-radius);
    overflow: hidden;
    background-color: var(--dxpx-bg-card);
    border: none; /* Remove the main border */
    border-radius: 0;
    overflow: visible;
    background-color: transparent;
    display: grid;
    gap: 25px; /* Space between cards */
}

/* Base styles for all row types (item, textbox, title, etc.) */
.dxpx-agenda-frontend-item,
.dxpx-agenda-frontend-textbox,
.dxpx-agenda-frontend-section-title {
    background-color: var(--dxpx-bg-card);
    border: 1px solid var(--dxpx-border-color);
    border-radius: var(--dxpx-border-radius);
    box-shadow: var(--dxpx-shadow);
    display: grid;
    grid-template-columns: 150px 1fr; /* Time | Content */
    padding: 25px;
    border-bottom: 1px solid var(--dxpx-border-color);
    transition: var(--dxpx-transition);
    position: relative; /* Needed for z-index context */
    z-index: 1;
}

/* Apply hover effect only on non-touch devices */
@media (hover: hover) and (pointer: fine) {
    .dxpx-agenda-frontend-item:hover {
        transform: translateY(-2px);
        box-shadow: var(--dxpx-shadow-lg);
    }
}

.dxpx-agenda-frontend-item:nth-child(even) {
    background-color: var(--dxpx-bg-card-alt);
}

.dxpx-agenda-frontend-item-time {
    font-size: 16px;
    font-weight: 600;
    color: var(--dxpx-primary-color);
    display: flex;
    flex-direction: column;
    padding-top: 2px;
}

.dxpx-agenda-frontend-item-room-location {
    font-size: 14px;
    color: var(--dxpx-text-secondary);
    margin-top: 4px;
    display: block;
    font-weight: 400;
}

.dxpx-agenda-frontend-item-description {
    font-size: 15px;
    color: var(--dxpx-text-secondary);
    margin: 15px 0;
    margin: 20px 0;
    line-height: 1.6;
}

.dxpx-agenda-item-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
    align-items: center;
    margin-top: 20px;
}

.dxpx-agenda-frontend-item-description p {
    margin: 0 0 1em 0;
}

.dxpx-item-content-header {
    background-color: var(--dxpx-bg-light);
    padding: 15px 20px;
    margin-bottom: 20px;
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--dxpx-border-color);
    background-color: transparent;
}

.dxpx-agenda-frontend-item:nth-child(even) .dxpx-item-content-header {
    background-color: #fff;
}

.dxpx-agenda-frontend-item-title {
    font-size: 20px;
    font-weight: 600;
    color: var(--dxpx-text-primary);
    margin: 0;
}

/* Time and Room/Location within the content area */
/* Time and Room/Location within the content area (for parallel items) */
.dxpx-item-header-time {
    font-size: 13px;
    font-weight: 500;
    color: var(--dxpx-text-secondary);
    margin-top: 5px;
    display: flex;
    align-items: center;
    gap: 8px;
}

.dxpx-item-header-room-location {
    font-size: 12px;
    color: var(--dxpx-text-secondary);
    color: #777;
    border-left: 1px solid #ccc;
    padding-left: 8px;
}

/* Link Button */
.dxpx-agenda-frontend-item-link {
    margin: 0;
}

.dxpx-agenda-link-button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background-color: var(--dxpx-primary-color);
    color: #ffffff;
    border-radius: var(--dxpx-border-radius);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    border: none;
    transition: var(--dxpx-transition);
}

.dxpx-agenda-link-button:hover,
.dxpx-agenda-link-button:focus {
    background-color: #004a80; /* Darker shade */
    border-color: #004a80;
    color: #fff;
    transform: translateY(-1px);
    box-shadow: 0 2px 4px rgba(0,0,0,0.1);
}

/* Add to Calendar Button */
.dxpx-add-to-calendar-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background-color: transparent;
    color: var(--dxpx-primary-color);
    border: 1px solid var(--dxpx-border-color);
    border-radius: var(--dxpx-border-radius);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: var(--dxpx-transition);
}

.dxpx-add-to-calendar-btn:hover {
    background-color: var(--dxpx-bg-light);
    border-color: var(--dxpx-primary-color);
    color: var(--dxpx-primary-color); /* Ensure text color remains correct on hover */
    opacity: 1; /* Prevent theme from making it transparent */
}

/* LinkedIn Share Button */
.dxpx-share-linkedin-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background-color: transparent;
    color: #0077B5; /* LinkedIn Blue */
    border: 1px solid var(--dxpx-border-color);
    border-radius: var(--dxpx-border-radius);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: var(--dxpx-transition);
}

.dxpx-share-linkedin-btn:hover,
.dxpx-share-linkedin-btn:focus {
    background-color: var(--dxpx-bg-light);
    border-color: #005e90; /* Darker LinkedIn Blue */
    color: #005e90;
}

/* WhatsApp Share Button */
.dxpx-share-whatsapp-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 10px 18px;
    background-color: transparent;
    color: #25D366; /* WhatsApp Green */
    border: 1px solid var(--dxpx-border-color);
    border-radius: var(--dxpx-border-radius);
    text-decoration: none;
    font-weight: 600;
    font-size: 14px;
    cursor: pointer;
    transition: var(--dxpx-transition);
}

.dxpx-share-whatsapp-btn:hover,
.dxpx-share-whatsapp-btn:focus {
    background-color: var(--dxpx-bg-light);
    border-color: #128C7E; /* Darker WhatsApp Green */
    color: #128C7E;
}


/* Special styling for the calendar button inside the track sidebar */
.dxpx-track-sidebar .dxpx-add-to-calendar-btn {
    background-color: rgba(255, 255, 255, 0.1);
    color: #fff;
    border-color: rgba(255, 255, 255, 0.5);
    width: 100%; /* Make it full width of the sidebar padding */
    justify-content: center; /* Center the icon and text */
}

.dxpx-track-sidebar .dxpx-add-to-calendar-btn:hover {
    background-color: rgba(255, 255, 255, 0.2);
    border-color: #fff;
}

.dxpx-track-sidebar .dxpx-add-to-calendar-btn svg {
    stroke: #fff; /* Ensure SVG icon is also white */
}

/* Topics List in Frontend */
.dxpx-agenda-frontend-topics {
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--dxpx-border-color);
}

.dxpx-topics-title {
    font-size: 14px;
    font-weight: 700;
    color: var(--dxpx-text-primary);
    margin: 0 0 10px 0;
}

.dxpx-agenda-frontend-topics ul {
    list-style: none;
    padding: 0;
    margin: 0;
}

.dxpx-agenda-frontend-topics li {
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" fill="%23005A9C" class="bi bi-check-circle-fill" viewBox="0 0 16 16"><path d="M16 8A8 8 0 1 1 0 8a8 8 0 0 1 16 0zm-3.97-3.03a.75.75 0 0 0-1.08.022L7.477 9.417 5.384 7.323a.75.75 0 0 0-1.06 1.06L6.97 11.03a.75.75 0 0 0 1.079-.02l3.992-4.99a.75.75 0 0 0-.01-1.05z"/></svg>') no-repeat left center;
    padding-left: 24px;
    margin-bottom: 8px;
    font-size: 15px;
    color: var(--dxpx-text-secondary);
}

/* Presenters Section */
.dxpx-agenda-frontend-presenters {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
    gap: 20px;
    margin-top: 20px;
}



.dxpx-agenda-frontend-presenter {
    display: flex;
    align-items: center;
    gap: 15px;
    background-color: var(--dxpx-bg-card);
    background-color: var(--dxpx-bg-light);
    border: 1px solid var(--dxpx-border-color);
    border-radius: var(--dxpx-border-radius);
    padding: 12px;
    font-size: 14px;
    color: var(--dxpx-text-primary);
    text-decoration: none;
    transition: var(--dxpx-transition);
}

.dxpx-agenda-frontend-presenter:hover {
    transform: translateY(-2px);
    box-shadow: var(--dxpx-shadow);
    border-color: #c8ced3;
}

.dxpx-presenter-frontend-photo {
    width: 60px;
    height: 60px;
    border-radius: 50%;
    object-fit: cover;
    flex-shrink: 0;
    border: 2px solid #fff;
    border: 2px solid var(--dxpx-bg-card);
    box-shadow: 0 0 5px rgba(0,0,0,0.1);
}

.dxpx-presenter-frontend-details {
    line-height: 1.4;
    flex-grow: 1;
}

.dxpx-presenter-frontend-name {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
}

.dxpx-presenter-detail-group {
    display: flex;
    gap: 20px;
    border-top: 1px solid var(--dxpx-border-color);
    padding-top: 8px;
}

/* When a presenter card is inside a track's column, it gets very narrow.
   Stack the details vertically to prevent the logo from being cut off. */
.dxpx-agenda-track .dxpx-agenda-frontend-item-content .dxpx-presenter-detail-group {
    flex-direction: column;
}

/* When inside a track's column, the space is even more constrained.
   Stack the logo under the position text for better readability. */
.dxpx-agenda-track .dxpx-agenda-frontend-item-content .dxpx-detail-value-with-logo {
    flex-direction: column;
    align-items: flex-start; /* Align items to the left */
}
.dxpx-agenda-track .dxpx-agenda-frontend-item-content .dxpx-presenter-company-logo-link {
    margin-top: 8px; /* Add some space above the logo */
}

.dxpx-presenter-detail-item {
    display: flex;
    flex-direction: column;
}

.dxpx-detail-label {
    font-size: 11px;
    color: var(--dxpx-text-secondary);
    text-transform: uppercase;
    letter-spacing: 0.5px;
    margin-bottom: 2px;
}

.dxpx-detail-value {
    font-size: 14px;
    font-weight: 500;
    color: var(--dxpx-text-primary);
}

.dxpx-detail-value-with-logo {
    display: flex;
    flex-direction: column-reverse; /* Puts text before logo */
    align-items: flex-start;
    gap: 8px;
}

.dxpx-detail-value-with-logo .dxpx-presenter-company-logo {
    height: 30px;
    width: auto;
    max-width: 100px;
    object-fit: contain;
    border-radius: 3px;
}

.dxpx-keynote-tag {
    background-color: #e8eaf6; /* Light indigo background */
    color: #3f51b5; /* Indigo text */
}


/* Company Cards (Host, PE) */
.dxpx-agenda-frontend-company {
    display: flex;
    align-items: center;
    gap: 15px;
    background-color: var(--dxpx-bg-card);
    background-color: var(--dxpx-bg-light);
    border: 1px solid var(--dxpx-border-color);
    border-radius: var(--dxpx-border-radius);
    padding: 12px;
    font-size: 14px;
    cursor: pointer;
    color: var(--dxpx-text-primary);
    text-decoration: none;
    transition: var(--dxpx-transition);
}

.dxpx-agenda-frontend-company:hover {
    transform: translateY(-2px);
    box-shadow: var(--dxpx-shadow);
    border-color: #c8ced3;
}

.dxpx-company-frontend-logo-wrapper img {
    width: 60px;
    height: 60px;
    border-radius: var(--dxpx-border-radius);
    object-fit: contain;
    object-fit: scale-down;
    background-color: #fff;
    border: 1px solid var(--dxpx-border-color);
    padding: 2px;
}

.dxpx-company-frontend-details {
    line-height: 1.4;
    flex-grow: 1;
}

.dxpx-company-frontend-name {
    font-size: 16px;
    font-weight: 600;
    margin-bottom: 8px;
    display: block;
}

.dxpx-company-detail-item {
    border-top: 1px solid var(--dxpx-border-color);
    padding-top: 8px;
}

/* Wrapper for parallel content columns */
.dxpx-parallel-wrapper {
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 30px;
}

.dxpx-parallel-wrapper > .dxpx-agenda-frontend-item-content:first-child {
    padding-right: 30px;
    border-right: 1px solid var(--dxpx-border-color);
}

/* Wrapper for logo-only display */
.dxpx-agenda-frontend-company-logo-only {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    height: 100%; /* Fill the grid cell height */
    width: 100%; /* Fill the grid cell width */
    padding: 5px;
    box-sizing: border-box;
}

.dxpx-company-logo-only {
    max-height: 100%;
    max-width: 100%;
    width: auto;
    object-fit: contain;
}

/* New Grid for Logo-Only Companies */
.dxpx-agenda-frontend-company-logos {
    display: grid;
    grid-template-columns: repeat(4, 1fr); /* 6 columns on desktop */
    gap: 15px;
    align-items: center;
    margin-top: 20px;
    padding-top: 20px;
    border-top: 1px solid var(--dxpx-border-color);
}

/* Responsive adjustments for the logo grid */
@media (max-width: 1200px) {
    .dxpx-agenda-frontend-company-logos {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 992px) {
    .dxpx-agenda-frontend-company-logos {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 768px) {
    .dxpx-agenda-frontend-company-logos {
        grid-template-columns: repeat(2, 1fr);
    }
}

/* Infobox styling for the companies mention text */
.dxpx-agenda-frontend-companies-mention {
    background-color: var(--dxpx-bg-light);
    border: 1px solid var(--dxpx-border-color);
    border-left: 4px solid var(--dxpx-primary-color);
    padding: 15px 20px;
    margin-top: 20px;
    border-radius: var(--dxpx-border-radius);
    font-size: 15px;
    color: var(--dxpx-text-secondary);
    line-height: 1.6;
}

/* Styling for the item-specific infobox */
.dxpx-agenda-frontend-infobox {
    background-color: var(--dxpx-bg-light);
    border: 1px solid var(--dxpx-border-color);
    border-left: 4px solid var(--dxpx-primary-color);
    padding: 15px 20px;
    margin-top: 20px;
    border-radius: var(--dxpx-border-radius);
    font-size: 15px;
    color: var(--dxpx-text-secondary);
    line-height: 1.6;
}

.dxpx-agenda-frontend-infobox p:last-child {
    margin-bottom: 0;
}


/* Column Title and Description */
.dxpx-column-content-title {
    font-size: 16px;
    font-weight: 700;
    color: var(--dxpx-text-primary);
    margin: 0 0 5px 0;
}

.dxpx-column-content-description {
    font-size: 14px;
    color: var(--dxpx-text-secondary);
    margin: 0 0 20px 0;
    padding-bottom: 15px;
    border-bottom: 1px dashed var(--dxpx-border-color);
}

/* Wrapper for each item inside a column */
.dxpx-column-item-wrapper {
    border: 1px solid var(--dxpx-border-color);
    border-radius: var(--dxpx-border-radius);
    padding: 25px;
    background-color: var(--dxpx-bg-card);
}

.dxpx-column-item-wrapper .dxpx-item-content-header {
    margin: -25px -25px 20px -25px; /* Extend to edges of the new wrapper */
}
.dxpx-column-item-wrapper + .dxpx-column-item-wrapper {
    margin-top: 20px; /* Space between items in the same column */
}

/* New Block Types Styling */
.dxpx-textbox-content-wrapper {
    background-color: var(--dxpx-primary-color-light);
    border-left: 4px solid var(--dxpx-primary-color);
    border-radius: var(--dxpx-border-radius);
    padding: 20px 25px;
}

.dxpx-agenda-frontend-section-title {
    background-color: transparent;
    border: none;
    box-shadow: none;
    padding: 10px 0;
}
.dxpx-agenda-frontend-section-title > h4 {
    font-size: 22px;
    font-weight: 600;
    color: var(--dxpx-text-primary);
    margin: 0;
}

.dxpx-agenda-frontend-day-content > *:last-child {
    border-bottom: none;
}

/* Responsive Adjustments */
@media (max-width: 992px) {
    .dxpx-agenda-frontend-item,
    .dxpx-agenda-frontend-textbox,
    .dxpx-agenda-frontend-section-title {
        grid-template-columns: 1fr;
        gap: 15px;
        padding: 20px;
    }

    .dxpx-item-content-header {
        margin-left: -20px;
        margin-right: -20px;
    }

    .dxpx-agenda-frontend-item-time {
        padding-top: 0;
    }

    .dxpx-parallel-wrapper {
        grid-template-columns: 1fr;
        gap: 20px;
    }
    .dxpx-parallel-wrapper > .dxpx-agenda-frontend-item-content:first-child {
        padding-right: 0;
        border-right: none;
        padding-bottom: 20px;
        border-bottom: 1px solid var(--dxpx-border-color);
    }
}
/*
 * Frontend Track Styles - V7 Sidebar Design
 */
.dxpx-agenda-track {
    display: grid;
    grid-template-columns: 250px 1fr; /* Sidebar width increased by ~40% */
    gap: 25px;
    margin-bottom: 25px;
}

.dxpx-track-sidebar {
    background-color: var(--track-color-solid, #b3e5fc);
    color: #fff;
    padding: 20px;
    border-radius: var(--dxpx-border-radius);
    display: flex;
    text-align: center;
}

.dxpx-track-sidebar-content {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: space-between; /* Pushes info to top, button to bottom */
}

.dxpx-track-sidebar-info {
    display: flex;
    flex-direction: column;
    align-items: center;
    width: 100%; /* Take full width of parent */
    position: sticky; /* Make this element sticky */
    /* Space for the site's main sticky header.
     * This value might need to be adjusted depending on the active theme's
     * sticky header height to prevent overlapping. */
    top: 210px;
}

.dxpx-track-sidebar-title {
    font-size: 22px;
    font-weight: 700;
    color: #fff;
    margin: 0;
    margin-bottom: 15px;
    text-shadow: 1px 1px 2px rgba(0,0,0,0.2);
}

.dxpx-track-sidebar-time {
    font-size: 18px;
    font-weight: 500;
}

.dxpx-track-sidebar-location {
    font-size: 14px;
    font-weight: 400;
    margin-top: 10px;
    opacity: 0.9;
}

.dxpx-track-sidebar-description {
    font-size: 13px;
    line-height: 1.5;
    font-weight: 400;
    margin-top: 15px;
    opacity: 0.9;
}

.dxpx-track-sidebar .dxpx-agenda-item-actions {
    margin-top: 20px;
    width: 100%;
    padding-top: 15px;
    border-top: 1px solid rgba(255, 255, 255, 0.2);
}

.dxpx-track-main-content {
    display: flex;
    flex-direction: column;
    gap: 20px;
}

.dxpx-track-row {
    display: grid;
    grid-template-columns: 1fr; /* Only content column now */
    gap: 0;
}

.dxpx-track-row-meta {
    padding-top: 2px;
}

.dxpx-track-item-time {
    font-size: 14px;
    font-weight: 400;
    color: var(--dxpx-text-secondary);
}

/* Styling for the individual items which are now custom-rendered */
.dxpx-agenda-track-item {
    padding: 20px;
    border: 1px solid var(--dxpx-border-color);
    border-radius: var(--dxpx-border-radius);
    background-color: var(--dxpx-bg-card);
    box-shadow: var(--dxpx-shadow-sm);
}
.dxpx-agenda-track-item .dxpx-agenda-frontend-item-title {
    font-size: 18px;
}

/* Add spacing for track items when they are inside a column layout */
.dxpx-agenda-frontend-item-content .dxpx-agenda-track-item + .dxpx-agenda-track-item {
    margin-top: 20px;
}

@media (max-width: 992px) {
    .dxpx-agenda-track {
        grid-template-columns: 1fr; /* Stack on smaller screens */
    }
    .dxpx-track-sidebar-content {
        flex-direction: row;
        gap: 20px;
        justify-content: flex-start;
        width: 100%;
    }

    .dxpx-track-sidebar-info {
        position: static; /* Remove sticky behavior on mobile */
        flex-direction: column; /* Stack info vertically */
        gap: 20px;
        gap: 10px; /* Reduce gap */
        justify-content: flex-start;
        align-items: flex-start; /* Align to the left */
    }
}

/* Highlight style for shared agenda items */
@keyframes dxpx-highlight-fade {
    from { background-color: var(--dxpx-primary-color-light); }
    to { background-color: transparent; }
}

.dxpx-agenda-item-highlight {
    animation: dxpx-highlight-fade 3s ease-out;
    border-left: 4px solid var(--dxpx-primary-color);
}

@media (max-width: 768px) {
    .dxpx-agenda-frontend-wrap {
        margin: 15px;
    }


    .dxpx-agenda-frontend-title {
        font-size: 26px;
    }

    .dxpx-agenda-frontend-day-date {
        font-size: 20px;
        padding: 12px 20px;
        position: static; /* Un-stick header on mobile */
    }

    .dxpx-agenda-frontend-presenter,
    .dxpx-agenda-frontend-company {
        min-width: 100%;
    }

    .dxpx-parallel-wrapper {
        gap: 15px; /* Reduce gap for parallel items on mobile */
    }

}

/* PDF Export Button */
.dxpx-export-pdf-btn {
    display: inline-flex;
    align-items: center;
    gap: 8px;
}

.dxpx-agenda-frontend-actions {
    margin-bottom: 5px;
}
