/**
 * DAPT Members -- minimal RTL stylesheet.
 *
 * Inherits theme fonts, colours and box-sizing. Dark theme.
 */

/* Direction ---------------------------------------------------------------- */
.dm-wrap {
	direction: rtl;
	text-align: right;
}

/* Honeypot ----------------------------------------------------------------- */
.dm-hp {
	position: absolute;
	left: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Notices ------------------------------------------------------------------ */
.dm-notice {
	padding: 12px 16px;
	margin-block-end: 18px;
	border-radius: 6px;
	font-size: 0.95rem;
	border-inline-start: 4px solid currentColor;
}

.dm-notice--ok {
	background: rgba(29, 107, 43, 0.15);
	color: #6fcf7a;
}

.dm-notice--err {
	background: rgba(180, 40, 40, 0.15);
	color: #f08080;
}

.dm-notice--warn {
	background: rgba(180, 140, 20, 0.15);
	color: #e0c040;
}

.dm-notice--info {
	background: rgba(40, 100, 180, 0.15);
	color: #70b0e0;
}

/* Page heading alignment: the page template centers the H1,
   but the form content below it is start-aligned. Override so
   the heading sits on the same column as the form. The :has()
   selector is supported in all modern browsers. */
.prose:has(.dm-wrap) {
	max-width: 580px;
}
.page-head:has(+ .prose .dm-wrap) {
	text-align: start;
	max-width: 580px;
}

/* Forms -------------------------------------------------------------------- */
.dm-form {
	max-width: 580px;
}

.dm-field {
	margin-block-end: 16px;
}

.dm-field label,
.dm-field legend {
	display: block;
	margin-block-end: 5px;
	font-weight: 600;
	font-size: 0.92rem;
}

.dm-field input[type="text"],
.dm-field input[type="email"],
.dm-field input[type="tel"],
.dm-field input[type="url"],
.dm-field input[type="password"],
.dm-field textarea,
.dm-field select {
	display: block;
	width: 100%;
	padding: 9px 12px;
	border: 1px solid #555;
	border-radius: 5px;
	font-size: 1rem;
	font-family: inherit;
	background: #2a2a2a;
	color: #eee;
	box-sizing: border-box;
}

.dm-field input::placeholder {
	color: #777;
}

.dm-field input:focus,
.dm-field textarea:focus,
.dm-field select:focus {
	border-color: #999;
	outline: 2px solid rgba(255, 255, 255, 0.15);
	outline-offset: 1px;
}

.dm-field--check label {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-weight: 400;
	cursor: pointer;
}

.dm-field--check input[type="checkbox"] {
	margin-block-start: 3px;
	flex-shrink: 0;
}

.dm-checkboxes {
	display: flex;
	flex-wrap: wrap;
	gap: 10px 20px;
}

.dm-checkboxes--compact {
	gap: 6px 16px;
	font-size: 0.9rem;
}

.dm-checkboxes--scroll {
	max-height: 180px;
	overflow-y: auto;
	padding: 8px;
	border: 1px solid #444;
	border-radius: 5px;
	background: #252528;
}

.dm-checkbox-label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-weight: 400;
	cursor: pointer;
}

.dm-hint {
	margin: 4px 0 0;
	font-size: 0.82rem;
	color: #999;
}

.dm-req {
	color: #e06060;
}

/* Location picker ---------------------------------------------------------- */
.dm-field--locations {
	border: 1px solid #444;
	border-radius: 8px;
	padding: 14px 16px;
	margin-block-end: 20px;
}

.dm-field--locations legend {
	font-size: 1rem;
	padding-inline: 4px;
}

.dm-loc-group {
	margin-block-end: 12px;
}

.dm-loc-group:last-child {
	margin-block-end: 0;
}

.dm-loc-group__title {
	display: block;
	font-weight: 600;
	font-size: 0.85rem;
	color: #bbb;
	margin-block-end: 6px;
	padding-block-end: 4px;
	border-block-end: 1px solid #3a3a3f;
}

/* Turnstile widget --------------------------------------------------------- */
.cf-turnstile {
	margin-block: 14px;
}

/* Buttons ------------------------------------------------------------------ */
.dm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 20px;
	border: 1px solid transparent;
	border-radius: 5px;
	font-size: 1rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: background 0.15s ease, border-color 0.15s ease;
}

.dm-btn--primary {
	background: #c9a227;
	color: #1a1a1a;
}

.dm-btn--primary:hover {
	background: #a88a1a;
}

.dm-btn--submit {
	background: #f72d93;
	color: #fff;
}

.dm-btn--submit:hover {
	background: #d01778;
}

.dm-btn--ghost {
	background: transparent;
	border-color: #666;
	color: inherit;
}

.dm-btn--ghost:hover {
	border-color: #aaa;
}

.dm-btn--danger {
	background: #a00;
	color: #fff;
	margin-inline-start: 8px;
}

.dm-btn--danger:hover {
	background: #800;
}

/* Form link row ------------------------------------------------------------ */
.dm-form-links {
	margin-block-start: 14px;
	display: flex;
	gap: 16px;
	font-size: 0.92rem;
	flex-wrap: wrap;
}

/* Dashboard ---------------------------------------------------------------- */
.dm-dashboard hr {
	margin-block: 24px;
	border: none;
	border-block-start: 1px solid #444;
}

.dm-listing-summary {
	border: 1px solid #444;
	border-radius: 8px;
	padding: 18px 20px;
	margin-block-end: 20px;
}

.dm-listing-summary h2 {
	margin-block-start: 0;
	font-size: 1.1rem;
}

/* Responsive --------------------------------------------------------------- */
@media (max-width: 480px) {
	.dm-form {
		max-width: 100%;
	}

	.dm-btn {
		width: 100%;
		justify-content: center;
	}

	.dm-btn--danger {
		margin-inline-start: 0;
		margin-block-start: 8px;
	}

	.dm-checkboxes--scroll {
		max-height: 220px;
	}
}
