/**
 * Arival StreamVault Integration - Public Styles
 *
 * @package   Arival_StreamVault_Integration
 * @copyright Copyright (c) 2024, Arival Travel
 * @license   GPL-3.0+
 * @since     1.0.0
 */

/* Font Awesome Icons */
@import url('https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css');

/* CSS Variables for dynamic accent color */
:root {
	--streamvault-accent: #1976d2;
	--streamvault-secondary: #6c757d;
}

.streamvault-event-container {
	font-family: inherit;
}

.streamvault-event-container {
	margin-top: 20px !important;
	margin-right: 20px !important;
}

.streamvault-event-container, .streamvault-modal-content > div {
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Day Tabs Styling */
.streamvault-day-tabs {
	display: flex;
	flex-wrap: wrap;
	gap: 4px;
	margin-bottom: 30px;
	background: #f8f9fa;
	padding: 4px;
	border-radius: 12px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
	justify-content: center;
	overflow: hidden;
}

.streamvault-day-tabs .day-tab {
	flex: 1;
	padding: 16px 20px;
	border: none;
	background: transparent;
	cursor: pointer;
	border-radius: 8px;
	transition: all 0.3s ease;
	font-weight: 600;
	color: #666;
	text-align: center;
	position: relative;
	max-width: 240px;
}

.streamvault-day-tabs .day-tab:hover {
	background: rgba(0, 0, 0, 0.05);
	transform: translateY(-1px);
}

.streamvault-day-tabs .day-tab.active {
	background: var(--streamvault-accent);
	color: white;
	box-shadow: 0 4px 12px rgba(25, 118, 210, 0.4);
	transform: translateY(-2px);
}

.streamvault-day-tabs .day-tab .day-name {
	display: block;
	font-size: 0.75em;
	opacity: 0.8;
	margin-top: 4px;
	font-weight: 400;
}

.day-content {
	display: none;
}

.day-content.active {
	display: block;
}

/* Search and Filter UI */
.streamvault-search-filter {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	margin-bottom: 24px;
	align-items: center;
}

.streamvault-search-input-wrapper {
	position: relative;
	flex: 1;
	min-width: 250px;
}

.streamvault-search-input {
	width: 100%;
	padding: 12px 16px 12px 44px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	font-size: 16px;
	transition: all 0.2s ease;
	background: white;
}

.streamvault-search-input:focus {
	outline: none;
	border-color: var(--streamvault-accent, #1976d2);
	box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.1);
}

.streamvault-search-icon {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: #6b7280;
	pointer-events: none;
}

.streamvault-location-filter-wrapper {
	position: relative;
	min-width: 200px;
}

.streamvault-location-filter {
	width: 100%;
	padding: 0px 16px 0px 44px;
	border: 1px solid #9aa5b1;
	border-radius: 8px;
	font-size: 16px;
	transition: all 0.2s ease;
	background: white;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	-moz-appearance: none;
	background-image: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 16 16"><path fill="%236b7280" d="M4 6l4 4 4-4z"/></svg>');
	background-repeat: no-repeat;
	background-position: right 12px center;
	padding-right: 36px;
}

.streamvault-location-filter:focus {
	outline: none;
	border-color: var(--streamvault-accent, #1976d2);
	box-shadow: 0 0 0 3px rgba(25, 118, 210, 0.1);
}

.streamvault-location-icon {
	position: absolute;
	left: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: #6b7280;
	pointer-events: none;
}

.streamvault-clear-filters {
	padding: 12px 24px;
	border: 1px solid #d1d5db;
	border-radius: 8px;
	background: white;
	color: #374151;
	font-size: 16px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.2s ease;
}

.streamvault-clear-filters:hover {
	background: #f9fafb;
	border-color: #9ca3af;
}

.streamvault-clear-filters:active {
	background: #f3f4f6;
}

/* Flat List View */
.streamvault-flat-list {
	display: none;
}

.streamvault-flat-list-date-header {
	margin: 32px 0 16px 0;
	padding-bottom: 12px;
	border-bottom: 2px solid #e5e7eb;
}

.streamvault-flat-list-date-header:first-child {
	margin-top: 0;
}

.streamvault-flat-list-date-header h4 {
	margin: 0;
	font-size: 20px;
	font-weight: 600;
	color: #111827;
}

.streamvault-flat-list-sessions {
	margin-bottom: 24px;
}

.streamvault-no-results {
	padding: 40px 20px;
	text-align: center;
	color: #6b7280;
	font-size: 16px;
}

/* Responsive Search/Filter */
@media (max-width: 768px) {
	.streamvault-search-filter {
		flex-direction: column;
		align-items: stretch;
	}
	
	.streamvault-search-input-wrapper,
	.streamvault-location-filter-wrapper {
		width: 100%;
		min-width: 100%;
	}
	
	.streamvault-clear-filters {
		width: 100%;
	}
}

/* Session Headers */
.session-header[data-action="streamvault-toggle-session"] {
	cursor: pointer;
}

.session-header[data-action="streamvault-toggle-session"].active {
	background: #f9fafb;
}

.session-header .expand-arrow {
	transition: transform 0.2s ease;
}

/* Transcript Styling */
.transcript-header {
	margin-bottom: 15px;
	padding: 10px 0;
	border-bottom: 1px solid #e9ecef;
}

.transcript-stats {
	display: flex;
	gap: 15px;
	font-size: 0.9em;
	color: #666;
}

.speaker-count,
.segment-count {
	background: #f8f9fa;
	padding: 4px 8px;
	border-radius: 4px;
	font-weight: 500;
	border: 1px solid #e9ecef;
}

.transcript-compact-preview {
	position: relative;
}

.transcript-segments-compact {
	max-height: 288px !important;
	overflow-y: auto !important;
	margin-bottom: 15px;
	padding-right: 5px;
}

.transcript-segments-compact::-webkit-scrollbar {
	width: 6px;
}

.transcript-segments-compact::-webkit-scrollbar-track {
	background: #f1f1f1;
	border-radius: 3px;
}

.transcript-segments-compact::-webkit-scrollbar-thumb {
	background: #c1c1c1;
	border-radius: 3px;
}

.transcript-segments-compact::-webkit-scrollbar-thumb:hover {
	background: #a8a8a8;
}

.transcript-actions {
	display: flex;
	gap: 10px;
	justify-content: flex-start;
	align-items: center;
	padding: 15px 0;
	border-top: 1px solid #e9ecef;
}

.download-transcript-btn {
	background: var(--streamvault-secondary);
	color: white;
	border: none;
	padding: 8px 16px;
	border-radius: 4px;
	cursor: pointer;
	font-size: 0.9em;
	font-weight: 500;
	text-decoration: none;
	display: inline-block;
	transition: all 0.3s ease;
}

.download-transcript-btn:hover {
	background: #5a6268;
	transform: translateY(-1px);
	box-shadow: 0 2px 4px rgba(0,0,0,0.2);
}

/* Speaker Color Styles - Alternating Colors */
.transcript-segment {
	margin-bottom: 15px;
	padding: 12px;
	border-radius: 8px;
	border-left: 4px solid;
	background: #f8f9fa;
	transition: all 0.3s ease;
}

.transcript-segment:hover {
	transform: translateY(-1px);
	box-shadow: 0 2px 8px rgba(0,0,0,0.1);
}

.speaker-name {
	font-weight: 600;
	font-size: 0.9em;
	margin-bottom: 5px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.speaker-timestamp {
	font-size: 0.75em;
	color: #666;
	margin-bottom: 8px;
	font-family: monospace;
}

.speaker-text {
	line-height: 1.5;
	color: #333;
}

/* Speaker 1 - Accent Color (Default) */
.transcript-segment.speaker-1 {
	border-left-color: var(--streamvault-accent) !important;
	background: linear-gradient(135deg, rgba(25, 118, 210, 0.05) 0%, rgba(25, 118, 210, 0.02) 100%) !important;
}

.transcript-segment.speaker-1 .speaker-name {
	color: var(--streamvault-accent) !important;
}

/* Speaker 2 - Blue */
.transcript-segment.speaker-2 {
	border-left-color: #2196f3 !important;
	background: linear-gradient(135deg, rgba(33, 150, 243, 0.05) 0%, rgba(33, 150, 243, 0.02) 100%) !important;
}

.transcript-segment.speaker-2 .speaker-name {
	color: #2196f3 !important;
}

/* Speaker 3 - Yellow */
.transcript-segment.speaker-3 {
	border-left-color: #ffc107 !important;
	background: linear-gradient(135deg, rgba(255, 193, 7, 0.05) 0%, rgba(255, 193, 7, 0.02) 100%) !important;
}

.transcript-segment.speaker-3 .speaker-name {
	color: #ffc107 !important;
}

/* Speaker 4 - Green */
.transcript-segment.speaker-4 {
	border-left-color: #4caf50 !important;
	background: linear-gradient(135deg, rgba(76, 175, 80, 0.05) 0%, rgba(76, 175, 80, 0.02) 100%) !important;
}

.transcript-segment.speaker-4 .speaker-name {
	color: #4caf50 !important;
}

/* Speaker 5 - Orange */
.transcript-segment.speaker-5 {
	border-left-color: #ff9800 !important;
	background: linear-gradient(135deg, rgba(255, 152, 0, 0.05) 0%, rgba(255, 152, 0, 0.02) 100%) !important;
}

.transcript-segment.speaker-5 .speaker-name {
	color: #ff9800 !important;
}

/* Responsive Design */
@media (max-width: 768px) {
	.streamvault-day-tabs {
		max-width: 100%;
		flex-direction: row;
	}
	
	.streamvault-day-tabs .day-tab {
		text-align: center;
		display: flex;
    	flex-flow: column;
	}

	.streamvault-layout-modern .session-time-location {
		flex-flow: column;
		align-items: flex-start !important;
        gap: 4px !important;
		margin-bottom: 8px;
	}


}

/* ========================================
   MODERN LAYOUT - MODAL STYLES
   ======================================== */

.streamvault-modal {
	position: fixed !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 999999 !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	opacity: 0;
	visibility: hidden;
	transition: opacity 0.3s ease, visibility 0.3s ease;
	pointer-events: none;
}

.streamvault-modal.active {
	opacity: 1 !important;
	visibility: visible !important;
	pointer-events: auto !important;
}

.streamvault-modal-backdrop {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: transparent;
	cursor: default;
	z-index: 1;
	pointer-events: none;
}

.streamvault-modal-content {
	position: relative;
	background: #ffffff;
	border-radius: 0;
	width: 100%;
	height: 100%;
	display: flex;
	flex-direction: column;
	box-shadow: none;
	transform: translateX(100%);
	transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	overflow: hidden;
	z-index: 2;
}

.streamvault-modal.active .streamvault-modal-content {
	transform: translateX(0);
}


.streamvault-modal-header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	padding: 28px 32px 20px;
	border-bottom: 1px solid #e5e7eb;
	background: #ffffff;
}

.streamvault-modal-close {
	background: #1f2937;
	border: none;
	cursor: pointer;
	padding: 0;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	transition: all 0.2s ease;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	flex-shrink: 0;
}

.streamvault-modal-close:hover {
	background: #111827;
	transform: scale(1.05);
}

.streamvault-modal-close i {
	font-size: 18px;
	color: #ffffff;
}

.streamvault-modal-close span {
	display: none;
}

.streamvault-modal-title {
	margin: 0;
	font-size: 30px;
	font-weight: 700;
	color: #111827;
	width: 100%;
	margin: 32px 0;
}

.streamvault-modal-tabs {
	display: flex;
	gap: 24px;
	padding: 0 32px;
	background: #ffffff;
	border-bottom: 1px solid #e5e7eb;
}

.streamvault-modal-tab {
	background: none;
	border: none;
	padding: 16px 0;
	font-size: 15px;
	font-weight: 500;
	color: #6b7280;
	cursor: pointer;
	border-bottom: 2px solid transparent;
	transition: all 0.2s ease;
	display: flex;
	align-items: center;
	gap: 8px;
	position: relative;
}

.streamvault-modal-tab i {
	font-size: 14px;
}

.streamvault-modal-tab:hover {
	color: #111827;
}

.streamvault-modal-tab.active {
	color: var(--streamvault-accent, #be4683);
	border-bottom-color: var(--streamvault-accent, #be4683);
	font-weight: 600;
}

.streamvault-modal-body {
	flex: 1;
	overflow-y: auto;
	padding: 40px 32px;
	background: #ffffff;
}

.streamvault-tab-content {
	animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
	from {
		opacity: 0;
		transform: translateX(10px);
	}
	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* Modern Layout - Day Tabs Simplified */
.streamvault-layout-modern .streamvault-day-tabs {
	border-bottom: 1px solid #e5e7eb;
	padding: 0 12px;
    background: rgba(221, 222, 223, 0.25);
	gap: 32px;
	margin-bottom: 24px;
}

.streamvault-layout-modern .streamvault-day-tabs .day-tab {
	background: none;
	border: none;
	border-bottom: 2px solid transparent;
	border-radius: 0;
	padding: 12px 0;
	font-size: 16px;
	font-weight: 400;
	color: #6b7280;
	transition: all 0.2s ease;
	outline: none !important;
	box-shadow: none !important;
	width: 25%;
}

.streamvault-layout-modern .streamvault-day-tabs .day-tab:focus {
	outline: none !important;
	box-shadow: none !important;
}

.streamvault-layout-modern .streamvault-day-tabs .day-tab:hover {
	color: #111827;
}

.streamvault-layout-modern .streamvault-day-tabs .day-tab.active {
	color: #111827;
	font-weight: 600;
	border-bottom-color: var(--streamvault-accent, #1976d2);
}

.streamvault-layout-modern .streamvault-day-tabs .day-tab .day-name {
	display: inline;
	margin-left: 4px;
	font-weight: inherit;
}

/* Modern Layout - Remove Time Groups & Day Headers */
.streamvault-layout-modern .time-group {
	margin: 0;
	padding: 0;
}

.streamvault-layout-modern .time-header {
	display: none;
}

.streamvault-layout-modern .time-sessions {
	padding: 0;
}

.streamvault-layout-modern .day-header {
	display: none;
}

/* Modern Layout - Clean Session List */
.streamvault-layout-modern .session-item {
	border-top: 1px solid #e5e7eb;
	margin: 0;
	padding: 0;
}

.streamvault-layout-modern .session-item:last-child {
	border-bottom: 1px solid #e5e7eb;
}

.streamvault-layout-modern .session-header {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
	padding: 32px 16px;
	background: white;
	border-radius: 0;
	transition: background 0.15s ease;
	position: relative;
}

.streamvault-layout-modern .session-header:hover {
	background: rgba(0, 0, 0, 0.02);
}

.streamvault-layout-modern .session-header.clickable {
	cursor: pointer;
}

/* Time and Location Container - Same Line */
.streamvault-layout-modern .session-time-location {
	display: flex;
	align-items: center;
	gap: 16px;
	width: 100%;
}

.streamvault-layout-modern .session-time {
	display: flex;
	align-items: center;
	gap: 4px;
	margin: 0;
	padding: 0;
}

.streamvault-layout-modern .session-time .start-time,
.streamvault-layout-modern .session-time .end-time {
	font-size: 16px;
	color: #6b7280;
	font-weight: 500;
}

.streamvault-layout-modern .session-time .end-time:before {
	content: " - ";
}

.streamvault-layout-modern .session-location {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 2px 12px;
	font-size: 13px;
	color: #111827;
	background: rgba(190, 70, 131, 0.1);
	background: color-mix(in srgb, var(--streamvault-accent, #be4683) 10%, transparent);
	border: 1px solid var(--streamvault-accent, #be4683);
	border-radius: 20px;
	font-weight: 500;
	line-height: 1.2;
}

.streamvault-layout-modern .session-location .location-icon {
	margin-right: 0;
	color: var(--streamvault-accent, #be4683);
	font-size: 12px;
}

/* Title - Separate Line */
.streamvault-layout-modern .session-info {
	flex: 1;
	width: 100%;
}

.streamvault-layout-modern .session-title {
	font-size: 18px;
	font-weight: 400;
	color: #111827;
	margin: 0;
	line-height: 1.4;
}

.streamvault-layout-modern .session-item.has-content .session-title {
	font-weight: 600;
}


.streamvault-layout-modern .session-speakers {
	display: none;
}

/* Arrow Icon */
.streamvault-layout-modern .expand-arrow {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%) !important;
	display: flex !important;
	align-items: center;
	justify-content: center;
	color: #6b7280;
	font-size: 20px;
	flex-shrink: 0;
}

.streamvault-layout-modern .expand-arrow i {
	transform: none !important;
}

/* Hide inline content and modal data for modern layout */
.streamvault-layout-modern .session-content,
.streamvault-layout-modern .modal-data {
	display: none !important;
}

/* Modal content sections */
.streamvault-modal-body .content-section {
	margin-bottom: 0;
}

.streamvault-modal-body .content-section h6 {
	font-size: 16px;
	font-weight: 600;
	color: #111827;
	margin-bottom: 20px;
	display: block;
}

.streamvault-modal-body .summary-section,
.streamvault-modal-body .keypoints-section,
.streamvault-modal-body .transcript-section {
	background: none;
	border: none;
	padding: 0;
	margin: 0;
}

.streamvault-modal-body .summary-section h6,
.streamvault-modal-body .keypoints-section h6,
.streamvault-modal-body .transcript-section h6, 
.streamvault-tab-content h6 {
	margin-bottom: 20px;
}

.streamvault-modal-body .content-text {
	font-size: 16px;
	line-height: 1.8;
	color: #374151;
	font-weight: 500;
}

.streamvault-modal-body .key-points-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.streamvault-modal-body .key-points-list li {
	padding: 16px 0 16px 32px;
	border-bottom: 1px solid #f3f4f6;
	position: relative;
	font-size: 16px;
	line-height: 1.7;
	color: #374151;
	font-weight: 500;
}

.streamvault-modal-body .key-points-list li:last-child {
	border-bottom: none;
}

.streamvault-modal-body .key-points-list li:before {
	content: '✓';
	position: absolute;
	left: 0;
	top: 16px;
	color: var(--streamvault-accent, #be4683);
	font-weight: bold;
	font-size: 18px;
}

/* Transcript in modal */
.streamvault-modal-body .transcript-segment {
	padding: 20px;
	margin-bottom: 12px;
	border-radius: 8px;
	background: #f9fafb;
	border: 1px solid #e5e7eb;
}

.streamvault-modal-body .speaker-name {
	font-weight: 600;
	font-size: 15px;
	color: var(--streamvault-accent, #be4683);
	margin-bottom: 8px;
}

.streamvault-modal-body .speaker-text {
	font-size: 16px;
	line-height: 1.7;
	color: #374151;
	font-weight: 500;
}

/* ========================================
   AGENDA LAYOUT SPECIFIC STYLES
   ======================================== */

.streamvault-layout-agenda .day-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 24px;
	padding-bottom: 16px;
	border-bottom: 2px solid #e5e7eb;
}

.streamvault-layout-agenda .day-header h4 {
	font-size: 28px;
	font-weight: 700;
	color: #111827;
	margin: 0;
	line-height: 1.2;
}

.streamvault-layout-agenda .day-header .session-count {
	background: #f3f4f6;
	color: #6b7280;
	padding: 8px 16px;
	border-radius: 20px;
	font-size: 14px;
	font-weight: 600;
	white-space: nowrap;
}

.streamvault-layout-agenda .time-header {
	background: var(--streamvault-accent);
	color: white;
	padding: 12px 20px;
	margin: 32px 0 16px 0;
	border-radius: 6px;
	font-size: 18px;
	font-weight: 700;
	text-align: center;
	letter-spacing: 0.5px;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.streamvault-layout-agenda .room-name {
	font-size: 22px;
	font-weight: 700;
	color: #1f2937;
	margin: 32px 0 20px 0;
	padding-bottom: 10px;
	border-bottom: 3px solid var(--streamvault-accent);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.streamvault-layout-agenda .sessions-list {
	display: flex;
	flex-direction: column;
	gap: 0;
	margin-bottom: 24px;
}

.streamvault-layout-agenda .session-item {
	border-bottom: 2px solid #d1d5db;
	transition: background-color 0.2s ease;
}

.streamvault-layout-agenda .session-item:last-child {
	border-bottom: none;
}

.streamvault-layout-agenda .session-item:hover {
	background-color: #f9fafb;
}

.streamvault-layout-agenda .session-header {
	display: flex;
	align-items: flex-start;
	padding: 20px 16px;
	gap: 20px;
	cursor: pointer;
	position: relative;
}

.streamvault-layout-agenda .session-header.clickable:hover {
	background-color: #f3f4f6;
}

.streamvault-layout-agenda .session-time {
	flex-shrink: 0;
	min-width: 80px;
}

.streamvault-layout-agenda .time-range {
	display: flex;
	flex-direction: column;
	gap: 4px;
}

.streamvault-layout-agenda .start-time,
.streamvault-layout-agenda .end-time {
	font-size: 15px;
	font-weight: 600;
	color: var(--streamvault-accent);
	line-height: 1.3;
}

.streamvault-layout-agenda .end-time {
	font-size: 13px;
	font-weight: 500;
	color: #6b7280;
}

.streamvault-layout-agenda .session-info {
	flex: 1;
	min-width: 0;
}

.streamvault-layout-agenda .session-title {
	font-size: 18px;
	font-weight: 600;
	color: #111827;
	margin: 0 0 8px 0;
	line-height: 1.4;
}

.streamvault-layout-agenda .session-location {
	display: flex;
	align-items: center;
	gap: 6px;
	margin: 8px 0;
	font-size: 14px;
	color: #6b7280;
}

.streamvault-layout-agenda .location-icon {
	color: var(--streamvault-accent);
	font-size: 12px;
}

.streamvault-layout-agenda .session-speakers {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	margin-top: 8px;
}

.streamvault-layout-agenda .speaker-item {
	display: inline-flex;
	align-items: center;
	padding: 4px 12px;
	background: #f3f4f6;
	border-radius: 16px;
	font-size: 13px;
	color: #4b5563;
	font-weight: 500;
}

.streamvault-layout-agenda .expand-arrow {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #9ca3af;
	transition: transform 0.3s ease, color 0.3s ease;
	margin-top: 4px;
}

.streamvault-layout-agenda .session-header.clickable:hover .expand-arrow {
	color: var(--streamvault-accent);
}

.streamvault-layout-agenda .session-item.expanded .expand-arrow {
	transform: rotate(90deg);
	color: var(--streamvault-accent);
}

.streamvault-layout-agenda .session-content {
	background: #f9fafb;
	border-top: 1px solid #e5e7eb;
	padding: 24px 16px 24px 116px;
}

.streamvault-layout-agenda .session-content .content-section {
	margin-bottom: 32px;
}

.streamvault-layout-agenda .session-content .content-section:last-child {
	margin-bottom: 0;
}

.streamvault-layout-agenda .session-content h6 {
	font-size: 16px;
	font-weight: 700;
	color: #111827;
	margin: 0 0 16px 0;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.streamvault-layout-agenda .session-content .content-text {
	font-size: 15px;
	line-height: 1.7;
	color: #374151;
}

.streamvault-layout-agenda .session-content .key-points-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.streamvault-layout-agenda .session-content .key-points-list li {
	padding: 12px 0 12px 24px;
	border-bottom: 1px solid #e5e7eb;
	position: relative;
	font-size: 15px;
	line-height: 1.6;
	color: #374151;
}

.streamvault-layout-agenda .session-content .key-points-list li:last-child {
	border-bottom: none;
}

.streamvault-layout-agenda .session-content .key-points-list li:before {
	content: '•';
	position: absolute;
	left: 0;
	color: var(--streamvault-accent);
	font-weight: bold;
	font-size: 20px;
	line-height: 1.4;
}

.streamvault-layout-agenda .session-content .transcript-segment {
	margin-bottom: 16px;
	padding: 12px;
	background: white;
	border-radius: 4px;
	border-left: 3px solid var(--streamvault-accent);
}

.streamvault-layout-agenda .session-content .segment-speaker {
	font-weight: 600;
	color: var(--streamvault-accent);
	margin-bottom: 4px;
}

.streamvault-layout-agenda .session-content .segment-timestamp {
	font-size: 12px;
	color: #6b7280;
	margin-left: 8px;
}

.streamvault-layout-agenda .session-content .segment-text,
.streamvault-layout-agenda .session-content .speaker-text {
	font-size: 14px;
	line-height: 1.6;
	color: #4b5563;
}

/* Mobile Responsive for Modal */
@media (max-width: 768px) {
	.streamvault-modal-header {
		padding: 20px 20px 16px;
	}
	
	.streamvault-modal-title {
		font-size: 24px;
	}
	
	.streamvault-modal-close {
		width: 36px;
		height: 36px;
		margin-bottom: 16px;
	}
	
	.streamvault-modal-close i {
		font-size: 16px;
	}
	
	.streamvault-modal-tabs {
		padding: 0 20px;
		overflow-x: auto;
		gap: 16px;
	}
	
	.streamvault-modal-tab {
		padding: 12px 0;
		font-size: 14px;
		white-space: nowrap;
	}
	
	.streamvault-modal-body {
		padding: 32px 20px;
	}
	
	.streamvault-layout-modern .streamvault-day-tabs {
		gap: 20px;
	}
	
	.streamvault-layout-modern .session-header {
		padding: 16px 32px 16px 16px;
	}
	
	.streamvault-layout-modern .session-title {
		font-size: 18px;
	}
	
	/* Agenda Layout Mobile Adjustments */
	.streamvault-layout-agenda .day-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
		padding-bottom: 12px;
	}
	
	.streamvault-layout-agenda .day-header h4 {
		font-size: 22px;
	}
	
	.streamvault-layout-agenda .day-header .session-count {
		align-self: flex-start;
		font-size: 13px;
		padding: 6px 12px;
	}
	
	.streamvault-layout-agenda .time-header {
		font-size: 16px;
		padding: 10px 16px;
		margin: 24px 0 12px 0;
	}
	
	.streamvault-layout-agenda .session-header {
		padding: 16px 12px;
		gap: 12px;
	}
	
	.streamvault-layout-agenda .session-time {
		min-width: 60px;
	}
	
	.streamvault-layout-agenda .session-title {
		font-size: 16px;
	}
	
	.streamvault-layout-agenda .session-content {
		padding: 20px 12px 20px 80px;
	}
}
