/**
 * MRC Document Library — table skin (inspired by Document Library Pro mockup).
 * Scoped to .document-library-table / .dataTables_wrapper.
 */

/* -------------------------------------------------------------------------
   Wrapper + search
   ------------------------------------------------------------------------- */

.dataTables_wrapper:has(.document-library-table) {
	margin: 0 0 1.75rem;
	padding: 0;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	font-family: "Source Sans 3", "Source Sans Pro", "Segoe UI", sans-serif;
	color: #1e293b;
}

.dataTables_wrapper .dataTables_filter {
	float: none !important;
	text-align: left !important;
	margin: 0 0 1rem;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.65rem 1rem;
}

.dataTables_wrapper .dataTables_filter label {
	display: flex;
	align-items: center;
	gap: 0.55rem;
	margin: 0;
	font-size: 0.95rem;
	font-weight: 600;
	color: #334155;
	width: 100%;
	max-width: 28rem;
}

.dataTables_wrapper .dataTables_filter input[type="search"] {
	flex: 1 1 auto;
	min-width: 12rem;
	margin: 0 !important;
	padding: 0.55rem 0.85rem 0.55rem 2.35rem !important;
	border: 1px solid #c9d5e0 !important;
	border-radius: 4px !important;
	background: #fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%231763a6' stroke-width='2'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.5-3.5'/%3E%3C/svg%3E") no-repeat 0.7rem 50% / 1rem !important;
	box-shadow: none !important;
	font-size: 0.95rem !important;
	line-height: 1.35 !important;
	color: #1e293b !important;
	height: auto !important;
}

.dataTables_wrapper .dataTables_filter input[type="search"]:focus {
	border-color: #1763a6 !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(23, 99, 166, 0.15) !important;
}

.dataTables_wrapper .dataTables_length,
.dataTables_wrapper .dataTables_info {
	color: #64748b;
	font-size: 0.9rem;
	padding-top: 0.85rem;
}

.dataTables_wrapper .dataTables_paginate {
	padding-top: 0.75rem;
}

.dataTables_wrapper .dataTables_paginate .paginate_button {
	border-radius: 4px !important;
	border: 1px solid #c9d5e0 !important;
	background: #fff !important;
	color: #0c447c !important;
	padding: 0.35rem 0.7rem !important;
	margin: 0 0.15rem !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.current,
.dataTables_wrapper .dataTables_paginate .paginate_button:hover {
	background: #0c447c !important;
	border-color: #0c447c !important;
	color: #fff !important;
}

.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,
.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover {
	opacity: 0.45;
	background: #f8fafc !important;
	color: #94a3b8 !important;
	border-color: #e2e8f0 !important;
}

/* -------------------------------------------------------------------------
   Table shell
   ------------------------------------------------------------------------- */

table.document-library-table,
table.document-library-table.mrc-dll-skin {
	width: 100% !important;
	max-width: 100%;
	table-layout: fixed;
	border-collapse: separate !important;
	border-spacing: 0 !important;
	border: 1px solid #c9d5e0 !important;
	border-radius: 6px;
	overflow: hidden;
	background: #fff;
	margin: 0 !important;
	box-sizing: border-box;
}

table.document-library-table thead th,
table.document-library-table thead td {
	background: #0c447c !important;
	color: #fff !important;
	font-weight: 700 !important;
	font-size: 0.92rem !important;
	letter-spacing: 0.01em;
	text-align: left !important;
	vertical-align: middle !important;
	padding: 0.85rem 1rem !important;
	border: 0 !important;
	border-bottom: 0 !important;
	white-space: nowrap;
}

table.document-library-table thead th.col-doc_categories,
table.document-library-table thead th[data-name="doc_categories"],
table.document-library-table thead th.col-link,
table.document-library-table thead th[data-name="link"],
table.document-library-table thead th.col-image,
table.document-library-table thead th[data-name="image"] {
	text-align: center !important;
}

table.document-library-table thead th.sorting,
table.document-library-table thead th.sorting_asc,
table.document-library-table thead th.sorting_desc {
	cursor: pointer;
	background-image: none !important;
	position: relative;
	padding-right: 1.75rem !important;
}

table.document-library-table thead th.sorting::after,
table.document-library-table thead th.sorting_asc::after,
table.document-library-table thead th.sorting_desc::after {
	content: "";
	position: absolute;
	right: 0.7rem;
	top: 50%;
	width: 0.55rem;
	height: 0.75rem;
	transform: translateY(-50%);
	opacity: 0.85;
	background-repeat: no-repeat;
	background-position: center;
	background-size: contain;
}

table.document-library-table thead th.sorting::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'%3E%3Cpath fill='%23ffffff' d='M6 0l4 5H2l4-5zm0 16l-4-5h8l-4 5z'/%3E%3C/svg%3E");
}

table.document-library-table thead th.sorting_asc::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'%3E%3Cpath fill='%23eeaa00' d='M6 0l4 5H2l4-5z'/%3E%3Cpath fill='%23ffffff' opacity='.45' d='M6 16l-4-5h8l-4 5z'/%3E%3C/svg%3E");
}

table.document-library-table thead th.sorting_desc::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 16'%3E%3Cpath fill='%23ffffff' opacity='.45' d='M6 0l4 5H2l4-5z'/%3E%3Cpath fill='%23eeaa00' d='M6 16l-4-5h8l-4 5z'/%3E%3C/svg%3E");
}

table.document-library-table tbody td {
	vertical-align: middle !important;
	text-align: left !important;
	padding: 0.95rem 1rem !important;
	border-top: 0 !important;
	border-bottom: 1px solid #e2e8f0 !important;
	border-left: 0 !important;
	border-right: 0 !important;
	background: #fff;
	color: #334155;
	font-size: 0.95rem;
	line-height: 1.45;
	word-break: normal;
	overflow-wrap: break-word;
	hyphens: manual;
}

table.document-library-table tbody tr:nth-child(even) td {
	background: #eef5fb;
}

table.document-library-table tbody tr:hover td {
	background: #e3eef8;
}

table.document-library-table tbody tr:last-child td {
	border-bottom: 0 !important;
}

/* -------------------------------------------------------------------------
   Columns
   ------------------------------------------------------------------------- */

table.document-library-table th.col-image,
table.document-library-table td.col-image,
table.document-library-table th[data-name="image"] {
	width: 76px !important;
	max-width: 76px !important;
	text-align: center !important;
	padding-left: 0.75rem !important;
	padding-right: 0.5rem !important;
}

table.document-library-table th.col-title,
table.document-library-table td.col-title,
table.document-library-table th[data-name="title"] {
	width: 22% !important;
	min-width: 9rem;
	font-weight: 700;
	color: #0c447c;
}

table.document-library-table td.col-title a {
	color: #0c447c !important;
	font-weight: 700;
	text-decoration: none;
}

table.document-library-table td.col-title a:hover {
	text-decoration: underline;
}

table.document-library-table th.col-content,
table.document-library-table td.col-content,
table.document-library-table th[data-name="content"] {
	width: auto !important;
	color: #475569;
	font-weight: 400;
}

table.document-library-table th.col-file_type,
table.document-library-table td.col-file_type,
table.document-library-table th[data-name="file_type"],
table.document-library-table th.col-file_size,
table.document-library-table td.col-file_size,
table.document-library-table th[data-name="file_size"] {
	width: 88px !important;
	max-width: 96px !important;
	white-space: nowrap !important;
	text-align: center !important;
}

table.document-library-table th.col-date,
table.document-library-table td.col-date,
table.document-library-table th[data-name="date"] {
	width: 8.5rem !important;
	white-space: nowrap;
	color: #64748b;
}

table.document-library-table th.col-link,
table.document-library-table td.col-link,
table.document-library-table th[data-name="link"] {
	width: 9.5rem !important;
	text-align: center !important;
	white-space: nowrap;
}

table.document-library-table th.col-doc_categories,
table.document-library-table td.col-doc_categories,
table.document-library-table th[data-name="doc_categories"] {
	width: 9rem !important;
	text-align: center !important;
}

table.document-library-table td.col-doc_categories a {
	color: #1763a6 !important;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
	display: inline-block;
	text-align: center;
}

/* -------------------------------------------------------------------------
   Badges + buttons
   ------------------------------------------------------------------------- */

table.document-library-table .mrc-dll-filetype,
table.document-library-table .mrc-dll-filesize {
	display: inline-block;
	font-size: 0.72rem;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0.03em;
	padding: 0.28rem 0.55rem;
	border-radius: 999px;
	background: #dbeafe;
	color: #0c447c;
	white-space: nowrap;
}

table.document-library-table .mrc-dll-filesize {
	background: #e2e8f0;
	color: #475569;
	font-weight: 600;
}

table.document-library-table a.dll-download-button,
table.document-library-table a.document-library-button,
table.document-library-table a.mrc-dll-view-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 2.15rem;
	padding: 0.4rem 0.9rem !important;
	border-radius: 4px !important;
	border: 0 !important;
	background: #1763a6 !important;
	color: #fff !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	letter-spacing: 0.01em;
	line-height: 1.2 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	white-space: nowrap;
	transition: background 0.15s ease, transform 0.15s ease;
}

table.document-library-table a.dll-download-button:hover,
table.document-library-table a.document-library-button:hover,
table.document-library-table a.mrc-dll-view-button:hover {
	background: #0c447c !important;
	color: #fff !important;
	transform: translateY(-1px);
}

table.document-library-table a.dll-download-button:not(.mrc-dll-view-button)::before {
	content: "";
	width: 0.95rem;
	height: 0.95rem;
	flex: 0 0 auto;
	background: no-repeat center / contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E");
}

table.document-library-table a.mrc-dll-view-button::before {
	content: "";
	width: 0.95rem;
	height: 0.95rem;
	flex: 0 0 auto;
	background: no-repeat center / contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.2-3.2'/%3E%3C/svg%3E");
}

/* -------------------------------------------------------------------------
   Empty / processing
   ------------------------------------------------------------------------- */

table.document-library-table td.dataTables_empty {
	text-align: center !important;
	color: #64748b;
	padding: 2rem 1rem !important;
	background: #f8fafc !important;
}

/* -------------------------------------------------------------------------
   Responsive — DataTables child rows + overflow + mobile cards
   ------------------------------------------------------------------------- */

/* Keep the wrapper inside the page column so Responsive can measure width. */
.dataTables_wrapper:has(.document-library-table) .document-library-table,
.dataTables_wrapper:has(.document-library-table) table.dataTable {
	box-sizing: border-box;
}

/* DataTables Responsive detail rows */
table.document-library-table.dtr-inline.collapsed > tbody > tr > td.dtr-control,
table.document-library-table.dtr-inline.collapsed > tbody > tr > th.dtr-control {
	position: relative;
	padding-left: 2.1rem !important;
	cursor: pointer;
}

table.document-library-table.dtr-inline.collapsed > tbody > tr > td.dtr-control::before,
table.document-library-table.dtr-inline.collapsed > tbody > tr > th.dtr-control::before {
	content: "";
	position: absolute;
	left: 0.65rem;
	top: 50%;
	width: 0.95rem;
	height: 0.95rem;
	margin-top: -0.48rem;
	border-radius: 3px;
	background: #1763a6
		url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M5 1h2v10H5zM1 5h10v2H1z'/%3E%3C/svg%3E")
		center / 0.55rem no-repeat;
}

table.document-library-table.dtr-inline.collapsed > tbody > tr.parent > td.dtr-control::before,
table.document-library-table.dtr-inline.collapsed > tbody > tr.parent > th.dtr-control::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12'%3E%3Cpath fill='%23fff' d='M1 5h10v2H1z'/%3E%3C/svg%3E");
	background-color: #0c447c;
}

table.document-library-table tr.child td {
	background: #f1f5f9 !important;
	padding: 0.75rem 1rem 1rem 2.1rem !important;
	border-bottom: 1px solid #e2e8f0 !important;
}

table.document-library-table ul.dtr-details {
	display: grid;
	gap: 0.55rem 1rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

table.document-library-table ul.dtr-details > li {
	display: grid;
	grid-template-columns: minmax(5rem, 7.5rem) 1fr;
	gap: 0.35rem 0.75rem;
	align-items: start;
}

table.document-library-table ul.dtr-details .dtr-title {
	font-weight: 700;
	color: #0c447c;
	font-size: 0.82rem;
}

table.document-library-table ul.dtr-details .dtr-data {
	color: #475569;
	font-size: 0.92rem;
	overflow-wrap: anywhere;
	word-break: break-word;
}

/* Tablet: scroll instead of crushing columns outside the card. */
@media (max-width: 1024px) and (min-width: 721px) {
	.dataTables_wrapper:has(.document-library-table) {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		overscroll-behavior-x: contain;
	}

	table.document-library-table,
	table.document-library-table.mrc-dll-skin {
		table-layout: auto;
		width: max-content !important;
		min-width: 100%;
		max-width: none;
		overflow: visible;
	}

	table.document-library-table th.col-title,
	table.document-library-table td.col-title,
	table.document-library-table th[data-name="title"] {
		min-width: 10rem;
		width: 12rem !important;
	}

	table.document-library-table th.col-content,
	table.document-library-table td.col-content,
	table.document-library-table th[data-name="content"] {
		min-width: 14rem;
		max-width: 22rem;
	}

	table.document-library-table thead th,
	table.document-library-table tbody td {
		padding: 0.75rem 0.8rem !important;
	}
}

/* Phone / narrow: stack each row as a card. */
@media (max-width: 720px) {
	.dataTables_wrapper:has(.document-library-table) {
		overflow-x: visible;
	}

	.dataTables_wrapper .dataTables_filter label {
		max-width: none;
		width: 100%;
	}

	.dataTables_wrapper .dataTables_filter input[type="search"] {
		min-width: 0;
		width: 100%;
	}

	.dataTables_wrapper .dataTables_info,
	.dataTables_wrapper .dataTables_paginate {
		float: none !important;
		text-align: left !important;
		width: 100% !important;
	}

	.dataTables_wrapper .dataTables_paginate {
		padding-bottom: 0.25rem;
	}

	table.document-library-table,
	table.document-library-table.mrc-dll-skin {
		table-layout: auto;
		width: 100% !important;
		max-width: 100% !important;
		border: 0 !important;
		border-radius: 0;
		overflow: visible;
		background: transparent;
	}

	table.document-library-table thead {
		position: absolute !important;
		width: 1px !important;
		height: 1px !important;
		padding: 0 !important;
		margin: -1px !important;
		overflow: hidden !important;
		clip: rect(0, 0, 0, 0) !important;
		border: 0 !important;
		white-space: nowrap !important;
	}

	table.document-library-table tbody {
		display: block;
		width: 100%;
	}

	/* Hide DataTables Responsive child rows — card layout already shows all fields. */
	table.document-library-table tbody tr.child {
		display: none !important;
	}

	table.document-library-table tbody tr {
		display: flex;
		flex-wrap: wrap;
		align-items: flex-start;
		gap: 0.45rem 0.75rem;
		width: 100%;
		box-sizing: border-box;
		margin: 0 0 0.85rem;
		padding: 0.9rem 0.95rem;
		border: 1px solid #c9d5e0 !important;
		border-radius: 6px;
		background: #fff !important;
		box-shadow: 0 1px 2px rgba(12, 68, 124, 0.04);
	}

	table.document-library-table tbody tr:nth-child(even) {
		background: #eef5fb !important;
	}

	table.document-library-table tbody tr:hover {
		background: #e3eef8 !important;
	}

	table.document-library-table tbody tr:last-child {
		margin-bottom: 0;
	}

	table.document-library-table tbody td,
	table.document-library-table tbody td.col-image,
	table.document-library-table tbody td.col-title,
	table.document-library-table tbody td.col-content,
	table.document-library-table tbody td.col-link,
	table.document-library-table tbody td.col-file_type,
	table.document-library-table tbody td.col-file_size,
	table.document-library-table tbody td.col-date,
	table.document-library-table tbody td.col-doc_categories {
		display: block !important; /* override DT Responsive display:none */
		width: auto !important;
		max-width: none !important;
		min-width: 0 !important;
		padding: 0 !important;
		border: 0 !important;
		background: transparent !important;
		text-align: left !important;
		white-space: normal !important;
		overflow-wrap: anywhere;
		word-break: break-word;
	}

	table.document-library-table tbody td.col-image {
		flex: 0 0 56px;
		width: 56px !important;
		order: 1;
	}

	table.document-library-table tbody td.col-image img,
	table.document-library-table tbody td.col-image .dll-file-icon,
	table.document-library-table tbody td.col-image .dll-file-icon svg,
	table.document-library-table tbody td.col-image .mrc-dll-media {
		max-width: 56px;
		height: auto;
	}

	table.document-library-table tbody td.col-title {
		flex: 1 1 calc(100% - 140px);
		order: 2;
		align-self: center;
		font-size: 1rem;
		line-height: 1.35;
	}

	table.document-library-table tbody td.col-link {
		flex: 0 0 auto;
		order: 3;
		align-self: flex-start;
		margin-left: auto;
		text-align: right !important;
		white-space: nowrap !important;
	}

	table.document-library-table tbody td.col-content {
		flex: 1 1 100%;
		order: 10;
		margin-top: 0.15rem;
		color: #475569;
		font-size: 0.92rem;
		line-height: 1.45;
	}

	table.document-library-table tbody td.col-file_type,
	table.document-library-table tbody td.col-file_size,
	table.document-library-table tbody td.col-date,
	table.document-library-table tbody td.col-doc_categories {
		flex: 0 0 auto;
		order: 11;
		margin-top: 0.15rem;
	}

	table.document-library-table tbody td.dataTables_empty {
		flex: 1 1 100%;
		text-align: center !important;
		padding: 1.5rem 0.5rem !important;
	}

	/* Compact action buttons on narrow screens */
	table.document-library-table a.dll-download-button,
	table.document-library-table a.document-library-button,
	table.document-library-table a.mrc-dll-view-button {
		min-height: 2.35rem;
		min-width: 2.35rem;
		padding: 0.45rem 0.65rem !important;
		font-size: 0 !important; /* icon-only; ::before remains */
		gap: 0;
	}

	table.document-library-table a.dll-download-button::before,
	table.document-library-table a.mrc-dll-view-button::before {
		margin: 0;
	}

	table.document-library-table.dtr-inline.collapsed > tbody > tr > td.dtr-control,
	table.document-library-table.dtr-inline.collapsed > tbody > tr > th.dtr-control {
		padding-left: 0 !important;
	}

	table.document-library-table.dtr-inline.collapsed > tbody > tr > td.dtr-control::before,
	table.document-library-table.dtr-inline.collapsed > tbody > tr > th.dtr-control::before {
		display: none;
	}
}

/* -------------------------------------------------------------------------
   Grid cards
   ------------------------------------------------------------------------- */

.dlp-grid-container,
.mrc-dll-grid-skin .dlp-grid-container {
	font-family: "Source Sans 3", "Source Sans Pro", "Segoe UI", sans-serif;
	color: #1e293b;
	margin: 0 0 1.75rem;
}

.dlp-grid-container .dlp-grid-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 0.75rem 1rem;
	margin-bottom: 1.15rem;
}

.dlp-grid-container .dlp-grid-search-input,
.dlp-grid-container .dlp-grid-length-select {
	border: 1px solid #c9d5e0 !important;
	border-radius: 4px !important;
	background: #fff !important;
	padding: 0.5rem 0.75rem !important;
	font-size: 0.95rem !important;
	color: #1e293b !important;
	box-shadow: none !important;
}

.dlp-grid-container .dlp-grid-search-input:focus,
.dlp-grid-container .dlp-grid-length-select:focus {
	border-color: #1763a6 !important;
	outline: none;
	box-shadow: 0 0 0 3px rgba(23, 99, 166, 0.15) !important;
}

.dlp-grid-container .dlp-grid-documents {
	gap: 1.35rem !important;
}

.dlp-grid-container .dlp-grid-card {
	background: #fff;
	border: 1px solid #c9d5e0;
	border-radius: 8px;
	overflow: hidden;
	box-shadow: 0 1px 2px rgba(12, 68, 124, 0.04);
	transition: box-shadow 0.18s ease, transform 0.18s ease, border-color 0.18s ease;
}

.dlp-grid-container .dlp-grid-card:hover {
	border-color: #9eb6cc;
	box-shadow: 0 8px 22px rgba(12, 68, 124, 0.1);
	transform: translateY(-2px);
}

.dlp-grid-container .dlp-grid-card-inner {
	display: flex;
	flex-direction: column;
	height: 100%;
	min-height: 100%;
}

.dlp-grid-container .dlp-grid-card-featured-img {
	background: #f3f0ea;
	min-height: 9.5rem;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 1.25rem;
	border-bottom: 1px solid #e8e4dc;
}

.dlp-grid-container .dlp-grid-card-featured-img img {
	width: 100%;
	height: 9.5rem;
	object-fit: cover;
	border-radius: 0;
	display: block;
}

.dlp-grid-container .dlp-grid-card-featured-icon {
	padding: 1.75rem 1rem;
}

.dlp-grid-container .dlp-grid-card-featured-icon .dll-file-icon,
.dlp-grid-container .dlp-grid-card-featured-icon .dll-file-icon svg {
	width: 64px !important;
	height: 64px !important;
	margin: 0 auto;
}

.dlp-grid-container .dlp-grid-card-featured-img .mrc-dll-media--video,
.dlp-grid-container .dlp-grid-card-featured-img a.mrc-dll-video-link {
	width: 100%;
	height: 100%;
}

.dlp-grid-container .dlp-grid-card-content {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	padding: 1rem 1.1rem 1.15rem;
	gap: 0.45rem;
}

.dlp-grid-container .mrc-dll-grid-meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 0.45rem 0.65rem;
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #64748b;
	margin-bottom: 0.15rem;
	width: 100%;
}

.dlp-grid-container .mrc-dll-grid-filetype,
.dlp-grid-container .mrc-dll-grid-filesize {
	color: #475569;
}

.dlp-grid-container .dlp-grid-card-info {
	float: none !important;
	clear: both !important;
	display: block !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
	text-align: center !important;
}

.dlp-grid-container .dlp-grid-card-categories {
	display: block !important;
	width: 100% !important;
	font-size: 0.85rem;
	text-align: center !important;
}

.dlp-grid-container .dlp-grid-card-categories a {
	color: #1763a6 !important;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 2px;
}

.dlp-grid-container .dlp-grid-card-title {
	margin: 0;
	font-size: 1.05rem;
	line-height: 1.35;
}

.dlp-grid-container .dlp-grid-card-title a,
.dlp-grid-container .dlp-grid-card-title {
	color: #0c447c !important;
	font-weight: 700;
	text-decoration: none;
}

.dlp-grid-container .dlp-grid-card-title a:hover {
	text-decoration: underline;
}

.dlp-grid-container .mrc-dll-grid-date {
	font-size: 0.85rem;
	color: #64748b;
}

.dlp-grid-container .dlp-grid-card-excerpt {
	font-size: 0.92rem;
	line-height: 1.45;
	color: #475569;
	margin: 0.1rem 0 0.25rem;
}

.dlp-grid-container .dlp-grid-card-link {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 0.5rem;
	margin-top: auto;
	padding-top: 0.85rem;
}

.dlp-grid-container .dlp-grid-card-link a.dll-download-button,
.dlp-grid-container .dlp-grid-card-link a.document-library-button,
.dlp-grid-container .dlp-grid-card-link a.mrc-dll-view-button {
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	gap: 0.4rem;
	min-height: 2.25rem;
	padding: 0.45rem 0.95rem !important;
	border-radius: 4px !important;
	border: 0 !important;
	background: #1763a6 !important;
	color: #fff !important;
	font-size: 0.88rem !important;
	font-weight: 700 !important;
	text-decoration: none !important;
	box-shadow: none !important;
	transition: background 0.15s ease, transform 0.15s ease;
}

.dlp-grid-container .dlp-grid-card-link a.dll-download-button:hover,
.dlp-grid-container .dlp-grid-card-link a.mrc-dll-view-button:hover {
	background: #0c447c !important;
	transform: translateY(-1px);
}

.dlp-grid-container .dlp-grid-card-link a.dll-download-button:not(.mrc-dll-view-button)::before {
	content: "";
	width: 0.95rem;
	height: 0.95rem;
	flex: 0 0 auto;
	background: no-repeat center / contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12'/%3E%3Cpath d='M7 10l5 5 5-5'/%3E%3Cpath d='M5 21h14'/%3E%3C/svg%3E");
}

.dlp-grid-container .dlp-grid-card-link a.mrc-dll-view-button::before {
	content: "";
	width: 0.95rem;
	height: 0.95rem;
	flex: 0 0 auto;
	background: no-repeat center / contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-3.2-3.2'/%3E%3C/svg%3E");
}

.dlp-grid-container .dlp-grid-footer,
.dlp-grid-container .dlp-grid-pagination {
	margin-top: 1rem;
	color: #64748b;
	font-size: 0.9rem;
}

@media (max-width: 782px) {
	.dlp-grid-container .dlp-grid-card-featured-img {
		min-height: 8rem;
	}

	.dlp-grid-container .dlp-grid-card-featured-img img {
		height: 8rem;
	}
}
