/*
Theme Name: NFT Marketplace AU Child
Theme URI: https://nftmarketplace.com.au
Description: Child theme for Kadence. Data/utility visual identity for the nftmarketplace.com.au directory — comparison tables, status pills, marketplace cards. All customisation lives here so the parent theme can update safely.
Author: NFT Marketplace AU
Template: kadence
Version: 0.1.0
Text Domain: nftmarketplace-child
*/

/* Parent styles are enqueued in functions.php, not imported here (@import blocks rendering). */

/* ---- Design tokens: data/utility palette (distinct from siblings' indigo) ---- */
:root {
	--nm-ink: #14202e;
	--nm-slate: #33455a;
	--nm-line: #d7e0ea;
	--nm-bg: #f6f9fb;
	--nm-panel: #ffffff;
	--nm-accent: #0e7a6d;      /* teal — utility/data identity */
	--nm-accent-ink: #0a5c52;
	--nm-good: #18794e;
	--nm-warn: #946b00;
	--nm-bad: #b42318;
	--nm-neutral: #5a6b7e;
}

body { background: var(--nm-bg); }

/* ---- Comparison + info tables: screen-reader sane, responsive ---- */
.nm-compare, .nm-info {
	width: 100%;
	border-collapse: collapse;
	background: var(--nm-panel);
	border: 1px solid var(--nm-line);
	font-size: 0.95rem;
}
.nm-compare th, .nm-compare td,
.nm-info th, .nm-info td {
	padding: 0.6rem 0.75rem;
	border: 1px solid var(--nm-line);
	text-align: left;
	vertical-align: top;
}
.nm-compare thead th {
	background: var(--nm-ink);
	color: #fff;
	font-weight: 600;
	white-space: nowrap;
}
.nm-compare tbody th[scope="row"],
.nm-info th[scope="row"] {
	color: var(--nm-ink);
	font-weight: 600;
	white-space: nowrap;
}
.nm-compare tbody tr:nth-child(even) { background: #eef4f7; }
.nm-info { max-width: 46rem; }

@media (max-width: 640px) {
	/* Table -> stacked cards on narrow screens. Semantics preserved for
	   screen readers; the visual stack is for sighted mobile users. */
	.nm-compare thead { position: absolute; left: -9999px; }
	.nm-compare, .nm-compare tbody, .nm-compare tr, .nm-compare th, .nm-compare td {
		display: block; border: 0;
	}
	.nm-compare tr {
		border: 1px solid var(--nm-line);
		border-radius: 10px;
		background: var(--nm-panel);
		margin-bottom: 0.9rem;
		padding: 0.6rem 0.9rem;
	}
	.nm-compare td::before {
		content: attr(data-label);
		display: block;
		font-size: 0.72rem;
		letter-spacing: 0.04em;
		text-transform: uppercase;
		color: var(--nm-neutral);
	}
}

/* ---- Status pills ---- */
.nm-status {
	display: inline-block;
	padding: 0.15em 0.65em;
	border-radius: 999px;
	font-size: 0.78rem;
	font-weight: 600;
	border: 1px solid transparent;
}
.nm-status--active    { background: #e6f4ec; color: var(--nm-good);  border-color: #bfe3cf; }
.nm-status--degraded  { background: #fdf3d7; color: var(--nm-warn);  border-color: #eeda9c; }
.nm-status--sunset    { background: #fdeedd; color: #9a4a00;         border-color: #f5d3ae; }
.nm-status--shut-down { background: #fde8e6; color: var(--nm-bad);   border-color: #f3c0bc; }
.nm-status--unknown   { background: #eceff3; color: var(--nm-neutral); border-color: var(--nm-line); }

.nm-verified, .nm-verified-note {
	font-size: 0.82rem;
	color: var(--nm-neutral);
}
.nm-stale { color: var(--nm-bad); font-weight: 600; }
.nm-profile-head { display: flex; gap: 0.6rem; align-items: center; margin-bottom: 0.8rem; }

/* ---- Callouts ---- */
.nm-note, .nm-warn, .nm-cta {
	border-left: 4px solid var(--nm-accent);
	background: var(--nm-panel);
	border-radius: 0 8px 8px 0;
	padding: 0.8rem 1rem;
	margin: 1rem 0;
}
.nm-warn { border-left-color: var(--nm-bad); background: #fdf3f2; }
.nm-cta  { border-left-color: var(--nm-good); background: #eef7f1; }

/* ---- Marketplace cards (archive/grid + mobile table fallback) ---- */
.nm-card {
	border: 1px solid var(--nm-line);
	border-radius: 12px;
	background: var(--nm-panel);
	padding: 1rem 1.1rem;
}
.nm-card h3 { margin-top: 0; }
.nm-card .nm-status { margin-left: 0.4rem; }

.nm-official a {
	display: inline-block;
	background: var(--nm-accent);
	color: #fff;
	padding: 0.55em 1.1em;
	border-radius: 8px;
	font-weight: 600;
	text-decoration: none;
}
.nm-official a:hover { background: var(--nm-accent-ink); }

.nm-sources ul { margin-bottom: 0; }

/* ---- Directory filter (assets/nm-filter.js) ---- */
.nm-filter {
	display: flex;
	gap: 0.6rem;
	align-items: center;
	flex-wrap: wrap;
	margin: 0 0 0.6rem;
}
.nm-filter input[type="search"] {
	padding: 0.45em 0.8em;
	border: 1px solid var(--nm-line);
	border-radius: 8px;
	background: var(--nm-panel);
	color: var(--nm-ink);
	min-width: 16rem;
}
.nm-filter input[type="search"]:focus {
	outline: 2px solid var(--nm-accent);
	outline-offset: 1px;
	border-color: var(--nm-accent);
}
.nm-filter-count { font-size: 0.82rem; color: var(--nm-neutral); }

/* ---- Newsletter / signup block ---- */
.nm-signup {
	background: var(--nm-ink);
	color: #eaf1f6;
	border-radius: 12px;
	padding: 1.4rem 1.6rem;
}
.nm-signup h2, .nm-signup h3 { color: #fff; margin-top: 0; }

@media (prefers-color-scheme: dark) {
	/* Kadence ships dark-mode primitives; keep pills legible if enabled. */
	.nm-status--active    { background: #0c3326; color: #7fd6ae; }
	.nm-status--shut-down { background: #3d1410; color: #f0a9a1; }
	.nm-status--unknown   { background: #262d35; color: #9fb0c0; }
}
