/* Ahtronic Download Center — styled with the theme's own design tokens. */

.ah-dl {
	--ah-line: #cfe5f1;
	--ah-pale: #eef8fd;
	--ah-blue: #0b3a67;
	--ah-navy: #062945;
	--ah-action: #007fa8;
	--ah-muted: #4f687c;
	--ah-text: #183b56;
	--ah-radius: 4px;
	--ah-shadow: 0 12px 34px rgba(3, 35, 61, .08);
	max-width: 100%;
}

/* ---------------------------------------------------------------- controls */

.ah-dl-controls {
	display: grid;
	grid-template-columns: minmax(0, 2fr) minmax(0, 1fr) minmax(0, 1fr);
	gap: 16px;
	padding: 20px;
	background: #fff;
	border: 1px solid var(--ah-line);
	border-radius: var(--ah-radius);
	box-shadow: var(--ah-shadow);
}

.ah-dl-field {
	display: flex;
	flex-direction: column;
	min-width: 0;
}

.ah-dl-field label {
	margin-bottom: 6px;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	color: #007b9e;
}

.ah-dl-field input,
.ah-dl-field select {
	width: 100%;
	max-width: 100%;
	min-height: 46px;
	padding: 10px 12px;
	border: 1px solid var(--ah-line);
	border-radius: var(--ah-radius);
	background: #fff;
	color: var(--ah-text);
	font: inherit;
	font-size: 15px;
}

.ah-dl-field input:focus-visible,
.ah-dl-field select:focus-visible {
	outline: 2px solid var(--ah-action);
	outline-offset: 1px;
}

.ah-dl-status {
	margin: 18px 0 0;
	font-size: 13px;
	font-weight: 600;
	color: var(--ah-muted);
}

.ah-dl-noresults {
	margin: 18px 0 0;
	padding: 16px 18px;
	background: var(--ah-pale);
	border: 1px dashed var(--ah-line);
	border-radius: var(--ah-radius);
	color: var(--ah-text);
	font-weight: 600;
}

.ah-dl-noresults[hidden] {
	display: none;
}

/* ------------------------------------------------------------------ groups */

.ah-dl-group {
	margin-top: 46px;
}

.ah-dl-group__head h2 {
	margin: 8px 0 20px;
	font-size: 26px;
	line-height: 1.2;
	color: var(--ah-blue);
	letter-spacing: -.6px;
}

.ah-dl-note {
	max-width: 820px;
	margin: 0;
	padding: 18px 20px;
	background: var(--ah-pale);
	border: 1px solid var(--ah-line);
	border-left: 3px solid var(--ah-action);
	border-radius: var(--ah-radius);
	color: var(--ah-text);
}

.ah-dl-note__action {
	margin: 18px 0 0;
}

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

.ah-dl-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(280px, 100%), 1fr));
	gap: 20px;
	align-items: stretch;
}

.ah-dl-card {
	display: flex;
	flex-direction: column;
	min-width: 0;
	overflow: hidden;
	background: #fff;
	border: 1px solid var(--ah-line);
	border-radius: var(--ah-radius);
	box-shadow: var(--ah-shadow);
}

.ah-dl-card[hidden] {
	display: none;
}

.ah-dl-card__thumb {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 150px;
	padding: 12px;
	background: var(--ah-pale);
	border-bottom: 1px solid var(--ah-line);
}

.ah-dl-card__thumb img {
	display: block;
	max-width: 100%;
	max-height: 126px;
	object-fit: contain;
}

.ah-dl-card__format {
	padding: 8px 14px;
	background: #fff;
	border: 1px solid var(--ah-line);
	border-radius: var(--ah-radius);
	color: var(--ah-blue);
	font-size: 15px;
	font-weight: 800;
	letter-spacing: 1.6px;
}

.ah-dl-card__body {
	display: flex;
	flex: 1 1 auto;
	flex-direction: column;
	gap: 10px;
	min-width: 0;
	padding: 18px;
}

.ah-dl-card__type {
	margin: 0;
	color: #007b9e;
	font-size: 11px;
	font-weight: 800;
	letter-spacing: 1.2px;
	text-transform: uppercase;
}

.ah-dl-card__title {
	margin: 0;
	color: var(--ah-blue);
	font-size: 17px;
	line-height: 1.35;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.ah-dl-card__meta {
	display: grid;
	gap: 5px;
	margin: 0;
	padding: 0;
	list-style: none;
	color: var(--ah-muted);
	font-size: 13px;
}

.ah-dl-card__meta li {
	display: flex;
	gap: 8px;
	align-items: baseline;
	min-width: 0;
	overflow-wrap: anywhere;
	word-break: break-word;
}

.ah-dl-card__meta span {
	flex: 0 0 auto;
	min-width: 92px;
	color: #5c7488;
}

.ah-dl-card__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: auto;
	padding-top: 14px;
}

.ah-dl-card__actions .btn {
	min-height: 44px;
	padding: 10px 18px;
}

.ah-dl-btn-ghost {
	background: #fff;
	color: var(--ah-action);
	border: 1px solid var(--ah-action);
}

.ah-dl-btn-ghost:hover {
	background: var(--ah-pale);
	color: #005f7e;
}

.ah-dl-download:hover {
	background: #006d92;
}

/* -------------------------------------------------------------- responsive */

@media (max-width: 1000px) {
	.ah-dl-controls {
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
	}

	.ah-dl-field--search,
	.ah-dl-controls .ah-dl-field:first-child {
		grid-column: 1 / -1;
	}
}

@media (max-width: 700px) {
	.ah-dl-controls {
		grid-template-columns: minmax(0, 1fr);
		padding: 16px;
	}

	.ah-dl-controls .ah-dl-field {
		grid-column: auto;
	}

	.ah-dl-grid {
		grid-template-columns: minmax(0, 1fr);
	}

	.ah-dl-group {
		margin-top: 38px;
	}

	.ah-dl-group__head h2 {
		font-size: 22px;
	}

	.ah-dl-card__meta span {
		min-width: 86px;
	}
}

/* ------------------------------------------------- admin: resource details */

.ah-dl-metabox .form-table th {
	width: 200px;
}

.ah-dl-metabox__intro {
	max-width: 720px;
	padding: 10px 14px;
	background: #f0f6fc;
	border-left: 3px solid #007fa8;
}

.ah-dl-metabox .description {
	margin-top: 6px;
}
