/*
 * forum.css (theme half) — EVERY colour, border, radius and shadow for the plugin's .srq-* markup.
 *
 * ⚠️ The plugin ships a forum.css of its own holding the STRUCTURE of this same markup — grid, gap,
 * the indentation ramp, aspect ratios, the 44px hit targets — and it names no colour at all. It is
 * enqueued first; this file is enqueued second and wins ties on source order, so both files use
 * plain single-class selectors and neither needs to be written one class deeper.
 *
 * The split is by KIND, not by specificity, and that is what NF-11 251 buys: swap this theme out and
 * the forum still renders correctly, plainly rather than brokenly. A colour in the plugin's file, or
 * a grid definition in this one, quietly ends that guarantee.
 */

/* --------------------------------------------------------------------- Question cards. */

.srq-card {
	background: var(--srt-surface);
	border: 1px solid var(--srt-border);
	border-radius: var(--srt-radius-lg);
	color: var(--srt-text);
}

.srq-card:hover {
	border-color: var(--srt-border-strong);
	box-shadow: var(--srt-shadow-sm);
}

.srq-card__title {
	color: var(--srt-text);
}

.srq-card__title a {
	color: inherit;
	text-decoration: none;
}

.srq-card__title a:hover {
	color: var(--srt-accent-text);
	text-decoration: underline;
}

.srq-card__excerpt {
	color: var(--srt-text-muted);
}

.srq-card__thumb {
	border-radius: var(--srt-radius);
	background: var(--srt-surface-2);
}

.srq-card__category {
	color: var(--srt-accent-text);
	font-weight: 600;
}

/* ---------------------------------------------------------------------------- Badges. */

.srq-badge {
	border-radius: var(--srt-radius-sm);
	font-weight: 700;
	letter-spacing: 0.04em;
	text-transform: uppercase;
}

.srq-badge--urgent {
	background: var(--srt-danger);
	color: var(--srt-on-danger);
}

.srq-badge--new {
	background: var(--srt-success);
	color: var(--srt-on-success);
}

.srq-badge--solved {
	background: transparent;
	color: var(--srt-success);
	border: 1px solid var(--srt-success);
}

.srq-badge--lawyer {
	background: var(--srt-accent);
	color: var(--srt-on-accent);
}

.srq-badge--canton {
	background: var(--srt-surface-2);
	color: var(--srt-text-muted);
	border: 1px solid var(--srt-border);
}

/* ----------------------------------------------------------------------- Meta lines. */

.srq-meta {
	color: var(--srt-text-faint);
}

.srq-meta a {
	color: var(--srt-text-muted);
}

.srq-meta a:hover {
	color: var(--srt-text);
}

/* ------------------------------------------------------------------ Sort / view tabs. */

.srq-tabs {
	border-bottom: 1px solid var(--srt-border);
}

.srq-tabs a {
	color: var(--srt-text-muted);
	text-decoration: none;
	border-bottom: 2px solid transparent;
	font-weight: 600;
}

.srq-tabs a:hover {
	color: var(--srt-text);
}

.srq-tabs a[aria-current="page"] {
	color: var(--srt-text);
	border-bottom-color: var(--srt-accent);
}

/* --------------------------------------------------------------------------- Thread. */

.srq-answer {
	background: var(--srt-surface);
	border: 1px solid var(--srt-border);
	border-radius: var(--srt-radius);
}

/* F-13 99: a subtly different background, not a different design. */
.srq-answer--lawyer {
	background: var(--srt-lawyer-bg);
	border-color: var(--srt-lawyer-border);
}

.srq-answer--best {
	border-color: var(--srt-success);
	box-shadow: inset 3px 0 0 var(--srt-success);
}

/* F-12 96 / §15: the parent is gone, the thread is not. */
.srq-answer--removed {
	background: transparent;
	border-style: dashed;
	color: var(--srt-text-faint);
}

.srq-answer__author {
	color: var(--srt-text);
	font-weight: 600;
}

.srq-answer__body {
	color: var(--srt-text);
}

/* The indentation ramp itself is structural and lives in the plugin's file. */
.srq-answer__children {
	border-left: 1px solid var(--srt-border);
}

/* ---------------------------------------------------------------------------- Votes. */

.srq-vote button {
	background: transparent;
	border: 1px solid var(--srt-border-strong);
	border-radius: var(--srt-radius-pill);
	color: var(--srt-text-muted);
	cursor: pointer;
}

.srq-vote button:hover {
	background: var(--srt-surface-hover);
	color: var(--srt-text);
}

.srq-vote button[aria-pressed="true"] {
	border-color: var(--srt-accent);
	color: var(--srt-accent-text);
}

.srq-vote__score {
	color: var(--srt-text);
	font-variant-numeric: tabular-nums;
	font-weight: 600;
}

/* --------------------------------------------------------------------------- Buttons. */

/*
 * ⚠️ The plugin emits `.srq-button`, not the theme's own `.srt-button`. It has to: the markup
 * belongs to the plugin and must carry plugin class names, or a theme swap would leave every forum
 * button naked. The two are deliberately separate namespaces, so BOTH need colouring here — styling
 * only `.srt-button` leaves the search, vote and submit buttons as unstyled white boxes, which is
 * exactly what happened the first time.
 *
 * Layout for these lives in the plugin's structural forum.css; only colour is set here.
 */
.srq-button {
	background: var(--srt-surface-2);
	color: var(--srt-text);
	border-color: var(--srt-border-strong);
	border-radius: var(--srt-radius);
	text-decoration: none;
}

.srq-button:hover {
	background: var(--srt-surface-hover);
	color: var(--srt-text);
}

.srq-button--primary {
	background: var(--srt-accent);
	color: var(--srt-on-accent);
	border-color: transparent;
}

.srq-button--primary:hover {
	background: var(--srt-accent-hover);
	color: var(--srt-on-accent);
}

.srq-button--ghost {
	background: transparent;
	color: var(--srt-text);
	border-color: var(--srt-border-strong);
}

.srq-button--quiet {
	background: transparent;
	color: var(--srt-text-muted);
	border-color: transparent;
	font-weight: 600;
}

.srq-button--quiet:hover {
	color: var(--srt-text);
	background: var(--srt-surface-hover);
}

/* ------------------------------------------------------------------- Search filters. */

.srq-filters {
	background: var(--srt-surface);
	border: 1px solid var(--srt-border);
	border-radius: var(--srt-radius-lg);
}

.srq-result-count {
	color: var(--srt-text-muted);
}

/* ---------------------------------------------------------------------------- Forms. */

.srq-form {
	background: var(--srt-surface);
	border: 1px solid var(--srt-border);
	border-radius: var(--srt-radius-lg);
}

.srq-form__hint {
	color: var(--srt-text-muted);
}

/*
 * ⚠️ The honeypot must be hidden from sight without being hidden from the DOM, and without
 * display:none, which some bots check for. It also must never be announced or focusable.
 */
.srq-hp {
	position: absolute !important;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* ------------------------------------------------------------------- Empty states. */

.srq-empty {
	background: var(--srt-surface);
	border: 1px dashed var(--srt-border-strong);
	border-radius: var(--srt-radius-lg);
	color: var(--srt-text-muted);
	text-align: center;
}

/* --------------------------------------------- Pending-translation notice (F-30 169). */

.srq-pending-notice {
	background: var(--srt-surface-2);
	border: 1px solid var(--srt-border);
	border-left: 4px solid var(--srt-info);
	border-radius: var(--srt-radius);
	color: var(--srt-text-muted);
}

/* -------------------------------------------------------------------------- Pagination. */

.srq-pagination a,
.srq-pagination span {
	border: 1px solid var(--srt-border);
	border-radius: var(--srt-radius-sm);
	color: var(--srt-text-muted);
	text-decoration: none;
}

.srq-pagination a:hover {
	background: var(--srt-surface-hover);
	color: var(--srt-text);
}

.srq-pagination .current {
	background: var(--srt-accent);
	border-color: var(--srt-accent);
	color: var(--srt-on-accent);
	font-weight: 700;
}

/* ------------------------------------------------------------------- Account area. */

.srq-count {
	background: var(--srt-accent);
	color: var(--srt-on-accent);
	border-radius: var(--srt-radius-pill);
	font-weight: 700;
}

.srq-bell {
	color: var(--srt-text-muted);
	border-radius: var(--srt-radius);
}

.srq-bell:hover {
	color: var(--srt-text);
	background: var(--srt-surface-hover);
}

.srq-notification {
	border-bottom: 1px solid var(--srt-border);
}

.srq-notification a {
	color: var(--srt-text);
}

/* The unread marker is a bar and a weight, never colour alone (NF-06 232). */
.srq-notification--unread {
	background: var(--srt-surface);
	box-shadow: inset 3px 0 0 var(--srt-accent);
}

.srq-notification--unread a {
	font-weight: 700;
}

.srq-message {
	background: var(--srt-surface);
	border: 1px solid var(--srt-border);
	border-radius: var(--srt-radius-lg);
	color: var(--srt-text);
}

.srq-message--mine {
	background: var(--srt-surface-2);
	border-color: var(--srt-border-strong);
}

.srq-profile__photo {
	border-radius: var(--srt-radius-pill);
	background: var(--srt-surface-2);
	border: 1px solid var(--srt-border);
}

.srq-profile__bio {
	color: var(--srt-text-muted);
}

.srq-term-header__image {
	border-radius: var(--srt-radius-lg);
	border: 1px solid var(--srt-border);
}
