/**
 * Durus Academy LMS — Mobile Experience & Continuity Styles
 *
 * Implements standard responsive layouts, sidebar drawers, aspect ratio video,
 * overflow wrappers, and button group reflows for mobile viewports.
 *
 * Breakpoints:
 * - Desktop: > 1024px
 * - Tablet Landscape / Small Desktop: <= 1024px
 * - Tablet Portrait / Mobile: <= 768px
 * - Small Mobile: <= 480px
 */

/* ==========================================================================
   1. Table & Overflow Wrappers
   ========================================================================== */
.da-table-responsive,
.da-table-box,
.da-recent-quizzes-table-wrap {
	width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
}

/* ==========================================================================
   2. Responsive Aspect Ratio Container for Videos
   ========================================================================== */
.da-study-video-wrapper {
	width: 100%;
	max-width: 100%;
}

.da-study-video-container {
	position: relative;
	width: 100%;
	padding-bottom: 56.25% !important; /* Forces 16:9 aspect ratio */
	height: 0 !important;
	overflow: hidden;
	background-color: #000;
	border-radius: var(--da-radius, 8px);
}

.da-study-video-container iframe,
.da-study-video-container embed,
.da-study-video-container object,
.da-study-video-container video,
.da-native-video {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	border: 0 !important;
}

/* ==========================================================================
   3. Tablet Portrait & Mobile (<= 768px)
   ========================================================================== */
@media (max-width: 768px) {
	/* Study Layout Reflow */
	.da-study-layout {
		display: flex;
		flex-direction: column;
		gap: 20px;
	}

	/* Slide-out Sidebar Drawer */
	.da-study-sidebar {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 300px !important;
		height: 100vh !important;
		z-index: 1050 !important;
		transform: translateX(-100%) !important;
		transition: transform 0.3s cubic-bezier(0.4, 0, 0.2, 1) !important;
		background-color: var(--da-white, #ffffff) !important;
		border: none !important;
		border-radius: 0 !important;
		box-shadow: 0 10px 30px rgba(0, 0, 0, 0.15) !important;
		margin: 0 !important;
		overflow-y: auto !important;
		padding: 20px !important;
	}

	.da-study-sidebar.open {
		transform: translateX(0) !important;
	}

	/* Toggle Header styling */
	.da-study-mobile-header {
		display: flex !important;
		align-items: center;
		gap: 15px;
		background: linear-gradient(135deg, #1e40af, #3b82f6);
		padding: 12px 20px;
		border-radius: 12px;
		margin-bottom: 20px;
		box-shadow: 0 4px 15px rgba(59, 130, 246, 0.15);
		color: #ffffff;
	}

	.da-sidebar-toggle-btn {
		display: inline-flex;
		align-items: center;
		gap: 8px;
		background-color: rgba(255, 255, 255, 0.15);
		border: 1px solid rgba(255, 255, 255, 0.25);
		border-radius: 8px;
		color: #ffffff;
		padding: 8px 14px;
		font-size: 14px;
		font-weight: 600;
		cursor: pointer;
		transition: background-color 0.2s ease, transform 0.1s ease;
	}

	.da-sidebar-toggle-btn:hover {
		background-color: rgba(255, 255, 255, 0.25);
	}

	.da-sidebar-toggle-btn:active {
		transform: scale(0.97);
	}

	.da-sidebar-toggle-btn .dashicons {
		font-size: 18px;
		width: 18px;
		height: 18px;
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.da-mobile-course-title {
		font-size: 15px;
		font-weight: 700;
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		color: #ffffff;
		flex-grow: 1;
	}

	/* Backdrop Overlay */
	.da-drawer-backdrop {
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		right: 0 !important;
		bottom: 0 !important;
		background: rgba(15, 23, 42, 0.6) !important;
		backdrop-filter: blur(4px) !important;
		z-index: 1040 !important;
		opacity: 0 !important;
		pointer-events: none !important;
		transition: opacity 0.3s ease !important;
	}

	.da-drawer-backdrop.open {
		opacity: 1 !important;
		pointer-events: auto !important;
	}

	/* Assignment Page Grid Adjustment */
	.da-assignment-main-grid {
		grid-template-columns: 1fr !important;
		gap: 20px !important;
	}

	/* Navigation controls layout update */
	.da-study-navigation {
		flex-wrap: wrap;
		gap: 15px;
	}
}

/* ==========================================================================
   4. Small Mobile (<= 480px)
   ========================================================================== */
@media (max-width: 480px) {
	/* Stack buttons on narrow mobile viewports */
	.da-study-navigation {
		flex-direction: column !important;
		width: 100% !important;
	}
	
	.da-study-navigation .da-nav-prev-wrap,
	.da-study-navigation .da-nav-next-wrap,
	.da-study-navigation .da-btn {
		width: 100% !important;
		display: flex !important;
		justify-content: center;
	}

	.da-study-lesson-header {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 15px !important;
	}

	.da-study-lesson-actions,
	.da-study-lesson-actions .da-btn {
		width: 100% !important;
	}

	/* Assignment details reflow */
	.da-file-download-badge {
		flex-direction: column !important;
		align-items: flex-start !important;
		gap: 12px !important;
		padding: 16px !important;
	}

	.da-file-download-badge .da-btn {
		width: 100% !important;
		justify-content: center;
	}

	/* Header cards and typography adjustments */
	.da-assignment-header-card {
		padding: 20px !important;
	}

	.da-assignment-title {
		font-size: 20px !important;
	}
}

/* ==========================================================================
   5. Tablet Landscape / Large Viewports (<= 1024px)
   ========================================================================== */
@media (max-width: 1024px) {
	/* Adjust course catalog grids for responsiveness */
	.da-course-grid {
		grid-template-columns: repeat(2, 1fr) !important;
		gap: 20px !important;
	}
}

@media (max-width: 600px) {
	.da-course-grid {
		grid-template-columns: 1fr !important;
	}
}

/* ==========================================================================
   Phase F.1 — Premium Video Experience Styles
   ========================================================================== */

/* Video area wrapper — theater mode target */
.da-study-video-area {
	position: relative;
}

/* --------------------------------------------------------------------------
   F.1 Toolbar (Theater + Autoplay toggle row above the player)
   -------------------------------------------------------------------------- */
.da-plyr-toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 6px 10px;
	background: #1a1a2e;
	border-radius: var(--da-radius, 8px) var(--da-radius, 8px) 0 0;
	gap: 8px;
}

.da-plyr-toolbar-left,
.da-plyr-toolbar-right {
	display: flex;
	align-items: center;
	gap: 8px;
}

.da-toolbar-btn {
	display: inline-flex;
	align-items: center;
	gap: 4px;
	background: transparent;
	border: 1px solid rgba(255, 255, 255, 0.15);
	color: #ccc;
	border-radius: 4px;
	padding: 4px 8px;
	font-size: 12px;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease, border-color 0.15s ease;
}

.da-toolbar-btn:hover,
.da-toolbar-btn[aria-pressed="true"] {
	background: rgba(255, 255, 255, 0.12);
	color: #fff;
	border-color: rgba(255, 255, 255, 0.35);
}

.da-toolbar-btn .dashicons {
	font-size: 14px;
	width: 14px;
	height: 14px;
	line-height: 14px;
}

.da-toolbar-btn-label {
	font-size: 12px;
	letter-spacing: 0.02em;
}

/* Autoplay toggle row */
.da-autoplay-toggle {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	color: #ccc;
	font-size: 12px;
	cursor: pointer;
	user-select: none;
}

.da-autoplay-checkbox {
	accent-color: var(--da-primary, #6c63ff);
	width: 14px;
	height: 14px;
	cursor: pointer;
}

.da-autoplay-label {
	letter-spacing: 0.02em;
}

/* --------------------------------------------------------------------------
   Theater Mode — Freeze Rule 22: visual-only, zero business logic effect
   -------------------------------------------------------------------------- */
.da-study-layout.da-theater-mode {
	grid-template-columns: 0 1fr !important;
}

.da-study-layout.da-theater-mode .da-study-sidebar {
	display: none;
}

.da-study-layout.da-theater-mode .da-study-content {
	max-width: 100%;
}

.da-study-layout.da-theater-mode .da-study-video-wrapper {
	border-radius: 0;
}

/* --------------------------------------------------------------------------
   Autoplay Next Countdown Overlay
   -------------------------------------------------------------------------- */
.da-autoplay-overlay {
	position: absolute;
	inset: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background: rgba(0, 0, 0, 0.72);
	backdrop-filter: blur(4px);
	-webkit-backdrop-filter: blur(4px);
	border-radius: var(--da-radius, 8px);
	z-index: 20;
}

.da-autoplay-overlay[hidden] {
	display: none;
}

.da-autoplay-overlay-inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 14px;
	text-align: center;
	animation: da-fade-in 0.25s ease;
}

.da-autoplay-label-text {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.8);
	margin: 0;
	letter-spacing: 0.03em;
}

.da-autoplay-countdown {
	font-size: 56px;
	font-weight: 700;
	color: #fff;
	line-height: 1;
	font-variant-numeric: tabular-nums;
	text-shadow: 0 2px 12px rgba(0, 0, 0, 0.5);
}

.da-autoplay-cancel-btn {
	font-size: 13px;
	padding: 6px 18px;
}

@keyframes da-fade-in {
	from { opacity: 0; transform: scale(0.95); }
	to   { opacity: 1; transform: scale(1); }
}

/* --------------------------------------------------------------------------
   Responsive: F.1 Toolbar on small screens
   -------------------------------------------------------------------------- */
@media (max-width: 480px) {
	.da-toolbar-btn-label {
		display: none; /* Icon only on very small screens */
	}

	.da-plyr-toolbar {
		padding: 4px 8px;
	}

	.da-autoplay-countdown {
		font-size: 42px;
	}
}
