.uncan-fluid-dir {
	--uncan-yellow: #FFAB00;
	--u-glass-bg: rgba(255, 255, 255, 0.08);
	--u-glass-border: rgba(255, 255, 255, 0.2);
	--f-head: 'Atkinson Hyperlegible', sans-serif;
	--f-body: 'Source Sans 3', sans-serif;
	width: 100%;
}

.dir-search-island {
	background: rgba(255, 255, 255, 0.12);
	-webkit-backdrop-filter: blur(20px); 
	backdrop-filter: blur(20px);
	transform: translateZ(0);               
	border: 1px solid var(--u-glass-border);
	border-radius: 12px; 
	padding: 10px 10px 10px 20px;
	display: flex; 
	align-items: center; 
	margin-bottom: 25px;
}

.search-wrap { display: flex; align-items: center; flex-grow: 1; gap: 15px; }
.search-wrap i { color: white; opacity: 0.6; }
.dir-filter-input { background: transparent; border: none; color: white; width: 100%; outline: none; font-family: var(--f-body); font-size: 16px; }
.dir-filter-input::placeholder { color: rgba(255, 255, 255, 0.6); }

.dir-search-btn {
	background: var(--uncan-yellow); 
	color: #1a1128; 
	border: none;
	height: 46px; 
	padding: 0 30px; 
	border-radius: 8px; 
	font-weight: 700; 
	cursor: pointer;
	transition: background 0.3s ease;
}

.dir-glass-table {
	border: 1px solid var(--u-glass-border); 
	border-radius: 12px;
	overflow: hidden;
	transform: translateZ(0);
}

.dir-table-header {
	display: grid; 
	grid-template-columns: 80px 2.5fr 1fr;
	padding: 20px 30px; 
	background: rgba(255, 255, 255, 0.15);
	-webkit-backdrop-filter: blur(20px); 
	backdrop-filter: blur(20px);
	font-family: var(--f-head); 
	font-weight: 700; 
	color: var(--uncan-yellow);
	text-transform: uppercase; 
	font-size: 13px;
	border-bottom: 1px solid var(--u-glass-border);
}

.dir-row {
	display: grid; 
	grid-template-columns: 80px 2.5fr 1fr;
	padding: 25px 30px; 
	border-bottom: 1px solid var(--u-glass-border);
	align-items: center; 
	color: white;
	background-color: rgba(255, 255, 255, 0.06) !important;
	
	-webkit-backdrop-filter: blur(20px) !important;
	backdrop-filter: blur(20px) !important;
	
	transition: background-color 0.3s ease, transform 0.3s ease;
	transform: translateZ(0); 
}

.dir-row:last-child { border-bottom: none; }

.dir-row:hover {
	background-color: rgba(255, 255, 255, 0.15) !important;
	cursor: pointer;
}

.dir-row:hover .row-title {
	color: var(--uncan-yellow);
}

.dir-row:hover .badge-inner,
.dir-row:hover .meta-icon {
	transform: translateY(-4px);
	border-color: var(--uncan-yellow);
}

.badge-inner {
	width: 38px; height: 38px; background: rgba(255,255,255,0.1);
	display: flex; align-items: center; justify-content: center;
	border-radius: 50%; border: 1px solid var(--u-glass-border);
	font-family: var(--f-head); font-weight: 700; transition: 0.3s;
}

.partner-flex-wrap { display: flex; align-items: center; gap: 20px; }
.image-wrapper { 
	width: 100px; height: 100px; 
	flex-shrink: 0; background: white; padding: 6px;
	border-radius: 10px; display: flex; align-items: center; justify-content: center;
}
.image-wrapper img { max-width: 100%; max-height: 100%; object-fit: contain; }

.row-title { font-family: var(--f-head); font-size: 20px; font-weight: 700; margin-bottom: 4px; display: block; transition: color 0.3s; }
.row-social-links { display: flex; gap: 20px; margin-top: 5px; }
.row-social-links a { display: inline-flex; align-items: center; gap: 10px; color: rgba(255,255,255,0.6); font-size: 14px; text-decoration: none; transition: 0.3s; }
.row-social-links a:hover { color: var(--uncan-yellow); }

.row-desc { margin: 8px 0 0 0; font-size: 14px; color: rgba(255, 255, 255, 0.7); line-height: 1.5; }

.col-meta { display: flex; align-items: center; gap: 12px; font-weight: 600; }
.meta-icon { 
	width: 32px; height: 32px; border-radius: 50%; overflow: hidden; 
	border: 1px solid rgba(255, 255, 255, 0.3); transition: 0.3s;
}
.meta-icon img { width: 100%; height: 100%; object-fit: cover; display: block; }

/* --- Responsive Layout --- */
@media (min-width: 769px) { 
	.col-main {
		max-width: 90%;
	}
}

@media (max-width: 768px) {
	.dir-table-header { display: none; }
	.dir-row { 
		grid-template-columns: 1fr; 
		text-align: center; 
		padding: 35px 20px; 
		gap: 15px; 
		background-color: rgba(255, 255, 255, 0.1) !important;
	}
	.partner-flex-wrap { flex-direction: column; }
	.col-meta, .row-social-links { justify-content: center; }
}