/* ==========================================================================
   Link Directory (Old School Edition) — stylesheet
   Colors use CSS variables that fall back to `inherit` / `currentColor`,
   so everything follows the active theme's native palette unless the
   admin sets explicit overrides on the Settings screen (which just define
   these same variables with real values on :root).
   ========================================================================== */

.wpld-wrap {
	--wpld-bg: inherit;
	--wpld-text: inherit;
	--wpld-link: inherit;
	--wpld-border: currentColor;
	--wpld-header-bg: transparent;
	--wpld-header-text: inherit;
	--wpld-accent: #8b6a8f;

	font-family: Tahoma, "MS Sans Serif", Geneva, Verdana, sans-serif;
	font-size: 13px;
	line-height: 1.4;
	color: var(--wpld-text);
	background: var(--wpld-bg);
	max-width: 100%;
	box-sizing: border-box;
}
.wpld-wrap *, .wpld-wrap *:before, .wpld-wrap *:after { box-sizing: border-box; }

.wpld-wrap a { color: var(--wpld-link); }

/* ---------- Search / filter bar ---------- */
.wpld-search-form { margin: 0 0 10px; }
.wpld-search-table { border-collapse: collapse; width: 100%; }
.wpld-search-table td { padding: 2px 4px 2px 0; vertical-align: middle; }
.wpld-search-input, .wpld-search-select {
	font-family: inherit;
	font-size: 12px;
	padding: 3px 4px;
	border: 1px solid var(--wpld-border);
	background: var(--wpld-bg);
	color: var(--wpld-text);
}
.wpld-search-input { width: 100%; min-width: 140px; }
.wpld-search-submit,
.wpld-form-submit,
.wpld-rate-me-submit {
	font-family: inherit;
	font-size: 12px;
	padding: 3px 10px;
	border: 1px solid var(--wpld-border);
	background: var(--wpld-accent);
	color: #000;
	cursor: pointer;
}
.wpld-search-submit:hover,
.wpld-form-submit:hover,
.wpld-rate-me-submit:hover { filter: brightness(1.08); }

/* ---------- Category tags (used inline on each card) ---------- */
.wpld-cat-tag {
	display: inline-block;
	margin: 2px 4px 2px 0;
	padding: 1px 7px;
	border: 1px solid var(--wpld-border);
	background: var(--wpld-header-bg);
	color: var(--wpld-header-text);
	font-size: 11px;
	text-decoration: none;
}
.wpld-cat-tag:hover { background: var(--wpld-accent); color: #000; }

/* ---------- Category index (old directory-style page: top-level
   categories in two columns, each with a subcategory preview list —
   structured like Yahoo!/Google Directory or a classic PHP-Nuke Web
   Links category page, styled in our own plain old-school way) ---------- */
.wpld-category-index {
	margin: 0 0 16px;
	padding: 10px 12px;
	border: 1px solid var(--wpld-border);
	background: var(--wpld-bg);
}
.wpld-category-index-title {
	font-weight: bold;
	font-size: 13px;
	margin-bottom: 8px;
	padding-bottom: 4px;
	border-bottom: 1px solid var(--wpld-border);
}
.wpld-category-index-columns {
	columns: 2 220px;
	column-gap: 22px;
}
.wpld-cat-block {
	break-inside: avoid;
	margin: 0 0 10px;
	padding-bottom: 8px;
	border-bottom: 1px dotted var(--wpld-border);
}
.wpld-cat-block:last-child { border-bottom: none; }
.wpld-cat-block-head { font-size: 12px; }
.wpld-cat-main-link { font-weight: bold; text-decoration: none; }
.wpld-cat-main-link:hover { text-decoration: underline; }
.wpld-cat-block.wpld-cat-current > .wpld-cat-block-head > .wpld-cat-main-link { text-decoration: underline; }
.wpld-cat-count { font-size: 10px; opacity: .75; margin-left: 3px; }
.wpld-cat-children {
	font-size: 11px;
	margin-top: 2px;
	opacity: .9;
}
.wpld-cat-children a { text-decoration: none; }
.wpld-cat-children a:hover { text-decoration: underline; }

.wpld-category-title { margin: 0 0 10px; padding-bottom: 4px; border-bottom: 2px solid var(--wpld-border); }
.wpld-results-count { font-size: 11px; font-style: italic; margin-bottom: 8px; opacity: .85; }

/* ---------- Link listing / cards ---------- */
.wpld-listing { display: flex; flex-direction: column; gap: 10px; }
.wpld-card {
	display: flex;
	gap: 10px;
	border: 1px solid var(--wpld-border);
	background: var(--wpld-bg);
	padding: 8px;
}
.wpld-card-image img { display: block; max-width: 88px; max-height: 66px; border: 1px solid var(--wpld-border); }
.wpld-card-body { flex: 1; min-width: 0; }
.wpld-card-title { font-weight: bold; font-size: 14px; }
.wpld-card-title a { text-decoration: none; }
.wpld-card-title a:hover { text-decoration: underline; }

.wpld-badge {
	display: inline-block;
	font-size: 9px;
	font-weight: bold;
	padding: 1px 4px;
	margin-left: 5px;
	border: 1px solid var(--wpld-border);
	vertical-align: middle;
	text-transform: uppercase;
}
.wpld-badge-new { background: #ffef8a; color: #000; animation: wpld-blink 1.1s steps(1) infinite; }
.wpld-badge-featured { background: var(--wpld-accent); color: #000; }
@keyframes wpld-blink { 50% { opacity: 0.25; } }
@media (prefers-reduced-motion: reduce) { .wpld-badge-new { animation: none; } }

.wpld-card-desc { font-size: 12px; margin: 4px 0; }
.wpld-card-desc p { margin: 0 0 4px; }

.wpld-card-meta { font-size: 11px; opacity: .85; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 4px; }
.wpld-card-cats { display: flex; flex-wrap: wrap; gap: 4px; }
.wpld-card-cats .wpld-cat-tag { margin: 0; }

.wpld-card-actions { margin-top: 6px; }
.wpld-visit-link {
	display: inline-block;
	font-size: 11px;
	font-weight: bold;
	padding: 2px 8px;
	border: 1px solid var(--wpld-border);
	text-decoration: none;
	background: var(--wpld-header-bg);
	color: var(--wpld-header-text);
}
.wpld-visit-link:hover { background: var(--wpld-accent); color: #000; }

.wpld-no-results { font-style: italic; padding: 10px 0; }

/* ---------- Pagination ---------- */
.wpld-pagination { margin-top: 12px; font-size: 12px; }
.wpld-page-link {
	display: inline-block;
	padding: 2px 7px;
	margin-right: 3px;
	border: 1px solid var(--wpld-border);
	text-decoration: none;
}
.wpld-page-link.wpld-page-current { background: var(--wpld-accent); color: #000; font-weight: bold; }

/* ---------- Widget-context listing (sidebar) ---------- */
.wpld-widget-listing .wpld-card { padding: 6px; }
.wpld-widget-listing .wpld-card-image img { max-width: 60px; max-height: 45px; }
.wpld-widget-listing .wpld-card-title { font-size: 12px; }
.wpld-widget-listing .wpld-card-meta { font-size: 10px; }

/* ---------- Forms (submit / edit) ---------- */
.wpld-form-title { border-bottom: 2px solid var(--wpld-border); padding-bottom: 4px; margin-bottom: 10px; }
.wpld-form-table { border-collapse: collapse; width: 100%; max-width: 520px; }
.wpld-form-table td { padding: 4px 6px 4px 0; vertical-align: top; font-size: 12px; }
.wpld-form-table td:first-child { width: 130px; white-space: nowrap; font-weight: bold; padding-top: 6px; }
.wpld-form-table input[type="text"],
.wpld-form-table input[type="url"],
.wpld-form-table input[type="email"],
.wpld-form-table select,
.wpld-form-table textarea {
	width: 100%;
	font-family: inherit;
	font-size: 12px;
	padding: 3px 4px;
	border: 1px solid var(--wpld-border);
	background: var(--wpld-bg);
	color: var(--wpld-text);
}
.wpld-image-field { margin: 4px 0; }
.wpld-edit-link-box { width: 100%; max-width: 480px; font-size: 11px; padding: 4px; border: 1px solid var(--wpld-border); }

.wpld-badge-offer { border: 1px solid var(--wpld-border); padding: 8px 10px; font-size: 12px; }
.wpld-badge-code-textarea { width: 100%; max-width: 520px; font-family: monospace; font-size: 11px; padding: 6px; border: 1px solid var(--wpld-border); }

/* ---------- Notices ---------- */
.wpld-notice { border: 1px solid var(--wpld-border); padding: 8px 10px; margin-bottom: 12px; font-size: 12px; }
.wpld-notice-success { background: #e3f3d8; color: #1c3a12; }
.wpld-notice-error { background: #f9dede; color: #4a1010; }
.wpld-error { color: #a00; font-size: 12px; }

/* ---------- Rate Me badge ---------- */
.wpld-rate-me-form { display: inline-block; }
.wpld-rate-me-table {
	border: 1px solid var(--wpld-border);
	background: var(--wpld-header-bg, #EFDFEF);
	border-collapse: collapse;
	width: auto;
}
.wpld-rate-me-table td { padding: 3px 4px; }
.wpld-rate-me-header {
	font-size: 9px;
	font-family: Tahoma, sans-serif;
	font-weight: bold;
	color: var(--wpld-header-text, #000);
	text-align: center;
}
.wpld-rate-me-select {
	background: var(--wpld-accent);
	border: 1px solid var(--wpld-border);
	color: #000;
	font-family: Tahoma, sans-serif;
	font-size: 9px;
}
.wpld-rate-me-submit { font-size: 9px; padding: 1px 6px; }
