/**
 * MRT Portal Shared Styles
 * 
 * Namespace: mrt-portal-*
 */

:root {
	/* Colors — Premium palette */
	--mrt-primary-blue: #2563eb;
	--mrt-primary-hover: #1d4ed8;
	--mrt-accent-cyan: #06b6d4;
	--mrt-success-green: #10b981;
	--mrt-amber: #f59e0b;
	--mrt-amber-alert: #d97706;
	--mrt-critical-red: #ef4444;
	--mrt-bg-app: #f8fafc;
	--mrt-surface-white: #ffffff;
	--mrt-text-primary: #0f172a;
	--mrt-text-secondary: #64748b;
	--mrt-border-color: #e2e8f0;

	/* Spacing */
	--mrt-sp-1: 0.25rem;
	--mrt-sp-2: 0.5rem;
	--mrt-sp-3: 0.75rem;
	--mrt-sp-4: 1rem;
	--mrt-sp-5: 1.5rem;
	--mrt-sp-6: 2rem;
	--mrt-sp-8: 3rem;

	/* Shapes — rounder, more modern */
	--mrt-radius-sm: 8px;
	--mrt-radius-md: 12px;
	--mrt-radius-lg: 16px;

	/* Shadow — layered for depth */
	--mrt-shadow-sm: 0 1px 3px rgba(0, 0, 0, 0.04), 0 1px 2px rgba(0, 0, 0, 0.02);
	--mrt-shadow-md: 0 4px 12px rgba(0, 0, 0, 0.05), 0 1px 3px rgba(0, 0, 0, 0.03);
	--mrt-shadow-lg: 0 10px 25px rgba(0, 0, 0, 0.06), 0 4px 10px rgba(0, 0, 0, 0.03);
}

/* Shell Wrapper */
.mrt-portal-shell {
	max-width: 1200px;
	margin: 0 auto;
	padding: var(--mrt-sp-5) var(--mrt-sp-4);
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	color: var(--mrt-text-primary);
	line-height: 1.6;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}

/* Typography Overrides */
.mrt-portal-shell h1, 
.mrt-portal-shell h2, 
.mrt-portal-shell h3, 
.mrt-portal-shell h4 {
	color: var(--mrt-text-primary);
	margin-top: 0;
}

/* Header */
.mrt-portal-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: var(--mrt-sp-6);
	flex-wrap: wrap;
	gap: var(--mrt-sp-4);
}
.mrt-portal-header h1 {
	font-size: 1.6rem;
	font-weight: 800;
	margin-bottom: 0.25rem;
	letter-spacing: -0.02em;
}
.mrt-portal-header p {
	color: var(--mrt-text-secondary);
	margin: 0;
	font-size: 0.9rem;
}

/* Buttons */
.mrt-btn-primary, .mrt-btn-secondary {
	display: inline-flex;
	align-items: center;
	gap: 0.35rem;
	padding: 0.55rem 1.1rem;
	border-radius: var(--mrt-radius-sm);
	font-weight: 600;
	text-decoration: none;
	cursor: pointer;
	transition: all 0.15s ease;
	font-size: 0.875rem;
	white-space: nowrap;
	border: none;
}
.mrt-btn-primary {
	background: var(--mrt-primary-blue);
	color: var(--mrt-surface-white) !important;
	box-shadow: 0 1px 3px rgba(37, 99, 235, 0.2);
}
.mrt-btn-primary:hover {
	background: var(--mrt-primary-hover);
	box-shadow: 0 3px 8px rgba(37, 99, 235, 0.3);
	text-decoration: none;
	color: var(--mrt-surface-white);
	transform: translateY(-1px);
}
.mrt-btn-secondary {
	background: var(--mrt-surface-white);
	border: 1px solid var(--mrt-border-color);
	color: var(--mrt-text-primary) !important;
	box-shadow: var(--mrt-shadow-sm);
}
.mrt-btn-secondary:hover {
	background: var(--mrt-bg-app);
	border-color: #cbd5e1;
	text-decoration: none;
}

/* Cards */
.mrt-section-card {
	background: var(--mrt-surface-white);
	border-radius: var(--mrt-radius-lg);
	box-shadow: var(--mrt-shadow-sm);
	padding: var(--mrt-sp-5);
	margin-bottom: var(--mrt-sp-5);
	border: 1px solid var(--mrt-border-color);
	transition: box-shadow 0.2s ease;
}
.mrt-section-card:hover {
	box-shadow: var(--mrt-shadow-md);
}
.mrt-section-title {
	font-size: 1.1rem;
	font-weight: 700;
	margin-bottom: var(--mrt-sp-4);
	display: flex;
	justify-content: space-between;
	align-items: center;
	letter-spacing: -0.01em;
}

/* KPI Grid */
.mrt-kpi-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));
	gap: var(--mrt-sp-3);
	margin-bottom: var(--mrt-sp-5);
}
.mrt-kpi-card {
	background: var(--mrt-surface-white);
	padding: 1rem 1.1rem;
	border-radius: var(--mrt-radius-md);
	border: 1px solid var(--mrt-border-color);
	transition: all 0.2s ease;
	position: relative;
	overflow: hidden;
}
.mrt-kpi-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 3px;
	background: var(--mrt-primary-blue);
	opacity: 0;
	transition: opacity 0.2s ease;
}
.mrt-kpi-card:hover::before {
	opacity: 1;
}
.mrt-kpi-card:hover {
	box-shadow: var(--mrt-shadow-md);
	border-color: #cbd5e1;
}
.mrt-kpi-label {
	color: var(--mrt-text-secondary);
	font-size: 0.72rem;
	text-transform: uppercase;
	letter-spacing: 0.6px;
	font-weight: 600;
	margin-bottom: 0.4rem;
}
.mrt-kpi-value {
	font-size: 1.7rem;
	font-weight: 800;
	letter-spacing: -0.02em;
}
.mrt-kpi-card.hero-kpi {
	background-color: var(--mrt-surface-white);
}

/* Status Badges */
.mrt-status-badge {
	display: inline-flex;
	align-items: center;
	padding: 0.2rem 0.6rem;
	border-radius: 12px;
	font-size: 0.75rem;
	font-weight: 600;
	white-space: nowrap;
}
.mrt-status-badge.active {
	background-color: #E3FCEF;
	color: #066637;
}
.mrt-status-badge.pending, .mrt-status-badge.expiring_soon {
	background-color: #FFFAE6;
	color: #974F0C;
}
.mrt-status-badge.overdue, .mrt-status-badge.cancelled {
	background-color: #FFEBE6;
	color: #BF2600;
}
.mrt-status-badge.neutral {
	background-color: #DFE1E6;
	color: #42526E;
}

/* Empty State */
.mrt-empty-state {
	text-align: center;
	padding: var(--mrt-sp-6) var(--mrt-sp-4);
	color: var(--mrt-text-secondary);
}

/* Alerts */
.mrt-alert-banner {
	display: flex;
	align-items: center;
	padding: var(--mrt-sp-3) var(--mrt-sp-4);
	border-radius: var(--mrt-radius-md);
	margin-bottom: var(--mrt-sp-4);
	font-size: 0.95rem;
	font-weight: 500;
}
.mrt-alert-warning {
	background-color: #FFFAE6;
	color: #974F0C;
	border-left: 4px solid var(--mrt-amber);
}
.mrt-alert-error {
	background-color: #FFEBE6;
	color: #BF2600;
	border-left: 4px solid var(--mrt-critical-red);
}

/* Table Wrapper */
.mrt-table-wrapper {
	overflow-x: auto;
	width: 100%;
}
.mrt-table-wrapper table,
.mrt-data-table {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
}
.mrt-table-wrapper th,
.mrt-data-table th {
	padding: var(--mrt-sp-3) var(--mrt-sp-2);
	font-size: 0.78rem;
	color: var(--mrt-text-secondary);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.4px;
	border-bottom: 2px solid var(--mrt-border-color);
}
.mrt-table-wrapper td,
.mrt-data-table td {
	padding: 0.7rem var(--mrt-sp-2);
	border-bottom: 1px solid #f1f5f9;
	font-size: 0.88rem;
	vertical-align: middle;
	color: var(--mrt-text-primary);
}
.mrt-table-wrapper tr:last-child td,
.mrt-data-table tr:last-child td {
	border-bottom: none;
}
.mrt-data-table tbody tr {
	transition: background 0.12s ease;
}
.mrt-data-table tbody tr:hover {
	background: #f8fafc;
}

/* Nav user badge */
.mrt-nav-user-badge {
	display: inline-block;
	padding: 0.15rem 0.5rem;
	font-size: 0.65rem;
	border-radius: 4px;
	background: #dbeafe;
	color: #1d4ed8;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	vertical-align: middle;
	margin-right: 4px;
}

/* Responsiveness */
@media (max-width: 768px) {
	/* --- KPI Cards --- */
	.mrt-kpi-grid {
		grid-template-columns: 1fr 1fr;
		gap: 10px;
	}
	.mrt-kpi-card { padding: 14px 16px; }
	.mrt-kpi-label { font-size: 0.6rem; }
	.mrt-kpi-value { font-size: 1.5rem; }

	/* --- Page Header --- */
	.mrt-portal-header {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
	.mrt-portal-header h1,
	.mrt-app-page-title { font-size: 1.3rem !important; }

	/* --- Action Buttons Row --- */
	.mrt-app-page-header__action,
	.mrt-portal-header > div:last-child {
		width: 100%;
		display: flex;
		gap: 8px;
	}
	.mrt-app-page-header__action .mrt-btn-primary,
	.mrt-app-page-header__action .mrt-btn-secondary {
		flex: 1;
		font-size: 0.8rem;
		padding: 8px 10px;
		min-height: 44px; /* touch target */
	}

	/* --- Nav Tabs Horizontal Scroll --- */
	.mrt-portal-tabs,
	.mrt-portal-shell > div > nav,
	nav[style*="border-bottom"] {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
		scrollbar-width: none;
		-ms-overflow-style: none;
		padding-bottom: 2px;
	}
	.mrt-portal-tabs::-webkit-scrollbar { display: none; }
	.mrt-portal-tabs a,
	nav[style*="border-bottom"] a {
		flex-shrink: 0;
		font-size: 0.8rem;
		padding: 6px 10px;
	}

	/* --- Grid Stacking --- */
	.mrt-grid-cols-2, .mrt-grid-cols-3 {
		grid-template-columns: 1fr !important;
	}

	/* --- Data Tables (scrollable wrapper) --- */
	.mrt-section-card {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}
	.mrt-data-table {
		font-size: 0.78rem;
		min-width: 600px; /* force horizontal scroll */
	}
	.mrt-data-table th,
	.mrt-data-table td {
		padding: 8px 10px;
	}

	/* --- Billing Revenue Cards --- */
	div[style*="grid-template-columns: repeat(2"] {
		grid-template-columns: 1fr !important;
	}

	/* --- Section Card padding --- */
	.mrt-section-card {
		padding: 16px;
	}

	/* --- Chart area responsive --- */
	.mrt-section-card canvas {
		max-height: 200px;
	}

	/* --- Gateway Mobilization --- */
	.mrt-enrolment-gateway .gateway-cards {
		flex-direction: column;
	}
}

@media (max-width: 480px) {
	.mrt-kpi-grid {
		grid-template-columns: 1fr;
		gap: 8px;
	}
	.mrt-kpi-card {
		padding: 12px 14px;
		flex-direction: row;
		align-items: center;
		gap: 12px;
	}
	.mrt-kpi-value { font-size: 1.3rem; }
	.mrt-portal-header h1,
	.mrt-app-page-title { font-size: 1.15rem !important; }
	.mrt-data-table { font-size: 0.72rem; }
}

/* Enrolment Gateway */
.mrt-enrolment-gateway {
	max-width: 900px;
	margin: 40px auto;
	text-align: center;
}
.mrt-enrolment-gateway .gateway-header {
	margin-bottom: 40px;
}
.mrt-enrolment-gateway .gateway-header h2 {
	font-size: 2.4rem;
	font-weight: 800;
	color: #0A192F;
	margin-bottom: 12px;
	letter-spacing: -0.5px;
}
.mrt-enrolment-gateway .gateway-header p {
	font-size: 1.1rem;
	color: #4A5568;
}

.mrt-enrolment-gateway .gateway-cards {
	display: flex;
	gap: 24px;
	justify-content: center;
	margin-bottom: 40px;
}
.mrt-enrolment-gateway .gateway-card {
	flex: 1;
	background: #FFFFFF;
	border: 1px solid #E2E8F0;
	border-radius: 16px;
	padding: 40px 30px;
	text-decoration: none;
	color: inherit;
	transition: all 0.3s cubic-bezier(0.25, 0.8, 0.25, 1);
	display: flex;
	flex-direction: column;
	align-items: center;
	position: relative;
	overflow: hidden;
}
.mrt-enrolment-gateway .gateway-card:hover {
	transform: translateY(-8px);
	box-shadow: 0 20px 40px rgba(0,0,0,0.08);
	border-color: #CBD5E0;
}
.mrt-enrolment-gateway .gateway-card::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 4px;
	background: transparent;
	transition: background 0.3s ease;
}
.mrt-enrolment-gateway .parent-card:hover::before {
	background: #0052CC;
}
.mrt-enrolment-gateway .centre-card:hover::before {
	background: #FFAB00;
}
.mrt-enrolment-gateway .card-icon {
	width: 80px;
	height: 80px;
	background: #F7FAFC;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 24px;
	color: #0052CC;
	transition: transform 0.3s ease;
}
.mrt-enrolment-gateway .centre-card .card-icon {
	color: #FFAB00;
}
.mrt-enrolment-gateway .gateway-card:hover .card-icon {
	transform: scale(1.1);
}
.mrt-enrolment-gateway .gateway-card h3 {
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: 16px;
	color: #1A202C;
}
.mrt-enrolment-gateway .gateway-card p {
	font-size: 1rem;
	color: #718096;
	margin-bottom: 32px;
	line-height: 1.6;
}
.mrt-enrolment-gateway .action-btn {
	margin-top: auto;
	width: 100%;
	justify-content: center;
}
.mrt-enrolment-gateway .action-btn .arrow {
	margin-left: 8px;
	transition: transform 0.2s ease;
}
.mrt-enrolment-gateway .gateway-card:hover .action-btn .arrow {
	transform: translateX(4px);
}
.mrt-enrolment-gateway .gateway-footer {
	margin-top: 30px;
	padding-top: 30px;
	border-top: 1px solid #E2E8F0;
	font-size: 0.95rem;
}
.mrt-enrolment-gateway .gateway-footer a {
	color: #0052CC;
	font-weight: 600;
	text-decoration: none;
}
.mrt-enrolment-gateway .gateway-footer a:hover {
	text-decoration: underline;
}

/* =========================================================================
   Home & Global Theme Tokens (B2C & B2B)
   ========================================================================= */
:root {
	--mrt-theme-bg: #0B1120;
	--mrt-theme-card: #151E32;
	--mrt-theme-cyan: #06b6d4;
	--mrt-theme-purple: #8b5cf6;
	--mrt-theme-amber: #f59e0b;
	--mrt-theme-cyan-glow: rgba(6, 182, 212, 0.4);
	--mrt-theme-purple-glow: rgba(139, 92, 246, 0.4);
	--mrt-theme-amber-glow: rgba(245, 158, 11, 0.4);
	--mrt-theme-text: #F8FAFC;
	--mrt-theme-text-muted: #94A3B8;
}

.mrt-theme-dark-wrap {
	background-color: var(--mrt-theme-bg);
	color: var(--mrt-theme-text);
	font-family: 'Inter', -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	padding: var(--mrt-sp-8) 0;
}

.mrt-glow-card {
	background: var(--mrt-theme-card);
	border-radius: 20px;
	padding: var(--mrt-sp-6);
	box-shadow: 0 10px 30px rgba(0,0,0,0.5);
	border: 1px solid rgba(255,255,255,0.05);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	color: var(--mrt-theme-text);
	display: flex;
	flex-direction: column;
}

.mrt-glow-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 15px 40px var(--mrt-theme-cyan-glow);
	border-color: rgba(6, 182, 212, 0.3);
}

.mrt-glow-card.purple-glow:hover {
	box-shadow: 0 15px 40px var(--mrt-theme-purple-glow);
	border-color: rgba(139, 92, 246, 0.3);
}

.mrt-glow-card.amber-glow:hover {
	box-shadow: 0 15px 40px var(--mrt-theme-amber-glow);
	border-color: rgba(245, 158, 11, 0.3);
}

.mrt-glow-card .mrt-card-title {
	font-size: 1.4rem;
	font-weight: 700;
	margin-bottom: var(--mrt-sp-3);
	color: var(--mrt-theme-text);
}

.mrt-glow-card .mrt-card-desc {
	color: var(--mrt-theme-text-muted);
	font-size: 0.95rem;
	line-height: 1.6;
	margin-bottom: var(--mrt-sp-5);
	flex-grow: 1;
}

.mrt-btn-glow {
	display: inline-flex;
	justify-content: center;
	align-items: center;
	padding: 0.8rem 1.5rem;
	background: linear-gradient(135deg, var(--mrt-theme-cyan), var(--mrt-theme-purple));
	color: #fff !important;
	border-radius: 8px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.3s ease;
	border: none;
	cursor: pointer;
	text-align: center;
}

.mrt-btn-glow:hover {
	box-shadow: 0 5px 20px var(--mrt-theme-purple-glow);
	transform: translateY(-2px);
}

/* =========================================================================
   Astra Footer — Hide default (we use our own #mrt-global-footer)
   ========================================================================= */
#colophon,
.site-footer,
.ast-footer-overlay,
.site-below-footer-wrap,
.ast-small-footer,
.ast-footer-copyright,
footer.site-footer,
.site-footer-primary-section-1,
.site-primary-footer-wrap,
.site-above-footer-wrap,
.ast-builder-footer-grid-columns,
.ast-copyright-txt,
.site-footer .ast-builder-layout-element,
.ast-footer-row-inline,
.ast-builder-footer-grid-column-default,
.ast-footer-html-1,
.ast-footer-html-2,
.ast-footer-widget-1-area,
.ast-footer-widget-2-area,
footer[class*="ast-"],
.main-footer-container {
	display: none !important;
}
/* Also hide any inline Astra copyright text that appears above #mrt-global-footer */
#mrt-global-footer ~ .site-footer,
.entry-content + .site-footer,
.ast-container + footer {
	display: none !important;
}

/* =========================================================================
   Page Title — Hide Astra default (each shortcode has its own hero)
   ========================================================================= */
.page .entry-header,
.page .ast-archive-description,
.single .entry-header,
.entry-title {
	display: none !important;
}

/* =========================================================================
   Astra Header & Menu Overrides (Light Theme — unified)
   ========================================================================= */
.ast-builder-header-wrap, .site-header {
	background-color: #ffffff !important;
	border-bottom: 1px solid #e2e8f0;
	box-shadow: 0 1px 3px rgba(0,0,0,0.04);
}
.ast-site-title-wrap, .site-title, .site-description { 
	display: none !important; 
}
.site-logo-img img,
.custom-logo,
.ast-site-identity img,
.site-header .custom-logo-link img {
	max-height: 30px !important;
	width: auto !important;
}
.main-header-menu > .menu-item > a {
	color: #1e293b !important;
	font-weight: 500 !important;
}
.main-header-menu > .menu-item > a:hover {
	color: #2563eb !important;
}

/* ── Subscribe: plain text link (remove box) ── */
.menu-item > a[href*="subscribe"] {
	background: none !important;
	color: #2563eb !important;
	font-weight: 600 !important;
	padding: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	height: auto !important;
	margin-left: 0 !important;
}
.menu-item > a[href*="subscribe"]:hover {
	color: #1d4ed8 !important;
	transform: none !important;
	box-shadow: none !important;
}

/* ── Login: subtle gray background, always last ── */
.menu-item > a[href*="login"],
.menu-item > a[href*="wp-login"] {
	background: #f1f5f9 !important;
	color: #334155 !important;
	border: none !important;
	padding: 0 22px !important;
	border-radius: 8px !important;
	margin-left: 8px !important;
	box-shadow: none !important;
	transition: all 0.2s ease !important;
	height: 38px !important;
	line-height: normal !important;
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	font-weight: 600 !important;
}
.menu-item > a[href*="login"]:hover,
.menu-item > a[href*="wp-login"]:hover {
	background: #e2e8f0 !important;
	color: #1e293b !important;
	transform: none !important;
}

/* Push Login to end via flexbox order */
.main-header-menu {
	display: flex !important;
	align-items: center !important;
}
.main-header-menu > .menu-item {
	order: 0;
}
.main-header-menu > .menu-item:has(> a[href*="login"]),
.main-header-menu > .menu-item:has(> a[href*="wp-login"]) {
	order: 99 !important;
}

/* Legacy glow class override (in case WordPress still adds it) */
.mrt-menu-btn-glow {
	display: flex;
	align-items: center;
}
.mrt-menu-btn-glow > a {
	/* Reset — individual selectors above handle specific buttons */
}

/* =========================================================================
   Home Flow Layout Variables
   ========================================================================= */
.mrt-home-section {
	padding: 80px 20px;
}
.mrt-home-section.bg-alt {
	background-color: #0c1527; /* Slightly distinct navy */
}
.mrt-container {
	max-width: 1200px;
	margin: 0 auto;
}
.mrt-hero-row {
	display: flex;
	flex-wrap: wrap;
	gap: 40px;
	align-items: center;
}
.mrt-hero-col {
	flex: 1;
	min-width: 300px;
}
.mrt-hero-title {
	font-size: 3.5rem;
	font-weight: 900;
	line-height: 1.1;
	margin-bottom: 20px;
	background: linear-gradient(to right, #ffffff, #94A3B8);
	-webkit-background-clip: text;
	-webkit-text-fill-color: transparent;
}
.mrt-hero-visual {
	position: relative;
	min-height: 400px;
	background: url('https://via.placeholder.com/600x400/151E32/ffffff?text=STEM+Platform+Preview') center/cover;
	border-radius: 20px;
	box-shadow: 0 20px 50px rgba(0,0,0,0.5);
	border: 1px solid rgba(255,255,255,0.1);
}
.mrt-section-heading {
	text-align: center;
	margin-bottom: 50px;
}
.mrt-section-heading h2 {
	font-size: 2.5rem;
	font-weight: 800;
	color: #fff;
	margin-bottom: 15px;
}
.mrt-section-heading p {
	color: var(--mrt-theme-text-muted);
	font-size: 1.1rem;
	max-width: 600px;
	margin: 0 auto;
}
.mrt-grid-4 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
	gap: 30px;
}
.mrt-grid-2 {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(400px, 1fr));
	gap: 40px;
}
.mrt-huge-number {
	font-size: 3.5rem;
	font-weight: 900;
	color: var(--mrt-theme-cyan);
	margin-bottom: 10px;
}

/* =========================================================================
   MasterStudy LMS Optimization (B2B/B2C Slim-Down)
   ========================================================================= */
/* 1. Archive / Course List Filters (Hide heavy sidebars) */
.stm_lms_courses__sidebar,
.stm_lms_courses__filter_sidebar,
.stm-lms-course__filter_widget {
	display: none !important;
}
/* Ensure the grid spans full width if sidebar is hidden */
.stm_lms_courses__grid {
	width: 100% !important;
	max-width: 100% !important;
}

/* 2. Single Course Sidebar Slimming */
.stm-lms-course-info__instructor,   /* Hide Instructor Block */
.stm-lms-course-info__socials,      /* Hide Social Sharing */
.stm_lms_widget_related_courses,    /* Hide Related Courses (Often cluttered) */
.stm-lms-course-info__ratings,      /* Hide ratings if unused */
.stm-lms-course__sidebar_materials { /* Hide messy materials block if we don't use it */
	display: none !important;
}

/* 3. Re-Style MasterStudy Buy Box / Buttons to Match Theme */
.stm-lms-buy-button a.btn, 
.stm-lms-buy-button button.btn,
.btn.btn-default.btn_add_to_cart,
.stm-lms-buy-button .btn-primary {
	background: linear-gradient(135deg, var(--mrt-theme-cyan), var(--mrt-theme-purple)) !important;
	color: #fff !important;
	border: none !important;
	border-radius: 30px !important;
	padding: 12px 24px !important;
	box-shadow: 0 4px 15px var(--mrt-theme-cyan-glow) !important;
	transition: all 0.3s ease !important;
	text-transform: uppercase;
	font-weight: bold;
}
.stm-lms-buy-button a.btn:hover, 
.stm-lms-buy-button button.btn:hover,
.btn.btn-default.btn_add_to_cart:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px var(--mrt-theme-purple-glow) !important;
}

/* 4. Hide User Default Dashboard Sidebar (Force users to our Portals) */
.stm-lms-user-sidebar,
.stm-lms-user-menu {
	display: none !important;
}
.stm-lms-user-main_content {
	width: 100% !important; /* Expand main content if sidebar hides */
}



/* =========================================================================
   WooCommerce Product Description Legacy Gallery Fix
   ========================================================================= */
.woocommerce-Tabs-panel--description,
.woocommerce-product-details__short-description {
    display: flex;
    flex-wrap: wrap;
    gap: 20px;
    align-items: flex-start;
}
.woocommerce-Tabs-panel--description > *,
.woocommerce-product-details__short-description > * {
    flex: 1 1 100%; /* Default block elements take full width */
}
.woocommerce-Tabs-panel--description > figure,
.woocommerce-product-details__short-description > figure {
    flex: 1 1 calc(25% - 20px) !important; /* 4 column grid for figures */
    margin: 0 !important;
    min-width: 150px;
    max-width: 300px;
}
.woocommerce-Tabs-panel--description img,
.woocommerce-product-details__short-description img {
    width: 100%;
    height: auto;
    border-radius: 12px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.3);
    transition: transform 0.3s ease;
    display: block;
}
.woocommerce-Tabs-panel--description figure:hover img,
.woocommerce-product-details__short-description figure:hover img {
    transform: scale(1.05);
}
/* If images are wrapped inside paragraphs */
.woocommerce-Tabs-panel--description > p,
.woocommerce-product-details__short-description > p {
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}
.woocommerce-Tabs-panel--description > p > img,
.woocommerce-product-details__short-description > p > img {
    flex: 1 1 calc(25% - 15px);
    margin: 0 !important;
    min-width: 120px;
    max-width: 250px;
}
