/*
 * Last Dawn Members — member area styles.
 * Matches lastdawnguild.com (Elementor kit): cream/blush Marcellus headings,
 * Marcellus SC eyebrows, teal-glass cards with gold hairlines, Archivo buttons.
 *
 * By default the member area is transparent and fills its container, so it
 * sits inside an Elementor section (teal starfield) like the rest of the site.
 * The "Standalone background" setting adds .ldm--surface for pages without one.
 */

.ldm {
	--ldm-bg: #062a35;
	--ldm-bg-2: #0b4a5c;
	--ldm-card: rgb(10, 51, 64);
	--ldm-panel: rgba(0, 0, 0, 0.22);
	--ldm-panel-solid: #0a3340;
	--ldm-panel-hi: rgba(255, 255, 255, 0.04);
	--ldm-line: rgba(217, 199, 163, 0.34);
	--ldm-line-strong: rgba(245, 229, 207, 0.5);
	--ldm-gold-line: #d9c7a3;
	--ldm-cream: #f3eee2;
	--ldm-blush: #e2c2ab;
	--ldm-parch: #f5e5cf;
	--ldm-tan: #d9c7a3;
	--ldm-gold: #f8b700;
	--ldm-teal: #0f6e84;
	--ldm-teal-d: #0b4a5c;
	--ldm-teal-l: #3fb8cc;
	--ldm-ice: #a9cbe0;
	--ldm-text: rgba(255, 255, 255, 0.92);
	--ldm-muted: rgba(255, 255, 255, 0.8);
	--ldm-faint: rgba(255, 255, 255, 0.66);
	--ldm-danger: #ff7a9c;
	--ldm-ok: #5fe0b5;
	--ldm-radius: 18px;
	--ldm-radius-sm: 10px;
	--ldm-shadow: rgba(0, 0, 0, 0.5) 0 10px 30px 0;
	--ldm-font-head: "Marcellus", Georgia, "Times New Roman", serif;
	--ldm-font-caps: "Marcellus SC", "Marcellus", Georgia, serif;
	--ldm-font-body: "Open Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;
	--ldm-font-ui: "Archivo", "Open Sans", -apple-system, sans-serif;

	position: relative;
	box-sizing: border-box;
	width: 100%;
	margin: 0;
	padding: 0;
	color: var(--ldm-text);
	font-family: var(--ldm-font-body);
	font-size: 16px;
	line-height: 1.6;
	text-align: left;
	background: transparent;
	-webkit-font-smoothing: antialiased;
}

/* Surface mode (default unless the page was built with the design tool):
   the member area paints its own full-width teal background, edge to edge,
   so it never sits on a white theme page. */
body.ldm-surface-page {
	overflow-x: clip;
}

/* 100vw includes the scrollbar; clip it so the page never scrolls sideways. */
html:has(body.ldm-surface-page) {
	overflow-x: clip;
}

.ldm.ldm--surface {
	width: 100vw !important;
	max-width: 100vw !important;
	min-height: 100vh;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
	padding: clamp(32px, 5vw, 72px) max(16px, calc((100vw - 1320px) / 2)) clamp(56px, 7vw, 110px);
	background:
		radial-gradient(1100px 520px at 85% -8%, rgba(63, 184, 204, 0.22), transparent 62%),
		radial-gradient(900px 480px at -10% 105%, rgba(248, 183, 0, 0.07), transparent 60%),
		linear-gradient(180deg, #0b4a5c 0%, #083846 45%, #062a35 100%);
}

/* Themes' page wrappers add their own width/padding around the shortcode. */
body.ldm-surface-page .page-content,
body.ldm-surface-page .entry-content,
body.ldm-surface-page .site-main {
	max-width: none;
	margin-top: 0;
	margin-bottom: 0;
	padding-top: 0;
	padding-bottom: 0;
}

body.ldm-surface-page .page-header,
body.ldm-surface-page .entry-header,
body.ldm-surface-page .wp-block-post-title {
	display: none;
}

.ldm *,
.ldm *::before,
.ldm *::after {
	box-sizing: border-box;
}

.ldm a {
	color: var(--ldm-tan);
	text-decoration: none;
}

/* Themes (and Elementor kits) often underline links; our links style themselves. */
.ldm a,
.ldm a:hover,
.ldm a:focus,
.ldm a:visited {
	text-decoration: none !important;
}

.ldm a:hover,
.ldm a:focus-visible {
	color: var(--ldm-cream);
}

.ldm :focus-visible {
	outline: 2px solid var(--ldm-gold);
	outline-offset: 2px;
}

.ldm p,
.ldm ul,
.ldm ol {
	margin: 0;
}

.ldm ul,
.ldm ol {
	padding: 0;
	list-style: none;
}

.ldm [hidden] {
	display: none !important;
}

.ldm-icon {
	width: 1.1em;
	height: 1.1em;
	flex: none;
	vertical-align: -0.15em;
}

/* ---------- Typography ---------- */

.ldm .ldm-eyebrow {
	margin: 0 0 6px;
	font-family: var(--ldm-font-caps);
	font-size: 13px;
	letter-spacing: 0.16em;
	color: var(--ldm-tan);
	text-transform: none;
}

.ldm .ldm-title {
	margin: 0 0 8px;
	font-family: var(--ldm-font-head);
	font-weight: 400;
	font-size: clamp(28px, 3.4vw, 38px);
	line-height: 1.15;
	letter-spacing: 0.01em;
	color: var(--ldm-cream);
	background: linear-gradient(180deg, var(--ldm-cream) 0%, var(--ldm-blush) 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	text-transform: none;
}

.ldm .ldm-subtitle {
	display: flex;
	align-items: center;
	gap: 10px;
	margin: 0 0 4px;
	font-family: var(--ldm-font-head);
	font-weight: 400;
	font-size: 21px;
	line-height: 1.25;
	color: var(--ldm-parch);
	text-transform: none;
}

.ldm .ldm-subtitle .ldm-icon {
	color: var(--ldm-gold);
	opacity: 0.85;
}

.ldm .ldm-lead {
	max-width: 62ch;
	color: var(--ldm-muted);
	font-size: 15px;
}

.ldm .ldm-muted {
	color: var(--ldm-muted);
}

.ldm .ldm-small {
	font-size: 13px;
}

.ldm .ldm-label,
.ldm .ldm-label-legend {
	display: block;
	margin-bottom: 8px;
	font-family: var(--ldm-font-caps);
	font-size: 12px;
	letter-spacing: 0.14em;
	color: var(--ldm-faint);
}

.ldm .ldm-optional {
	margin-left: 4px;
	font-size: 11.5px;
	font-weight: 400;
	letter-spacing: 0.04em;
	color: var(--ldm-muted);
	text-transform: lowercase;
}

.ldm .ldm-hint {
	margin-top: 6px;
	font-size: 12.5px;
	color: var(--ldm-faint);
}

.ldm .ldm-link {
	color: var(--ldm-tan);
	border-bottom: 1px solid rgba(217, 199, 163, 0.35);
	transition: color 0.15s, border-color 0.15s;
}

.ldm .ldm-link:hover {
	color: var(--ldm-cream);
	border-color: var(--ldm-cream);
}

.ldm .ldm-link--small {
	font-size: 13px;
}

.ldm .ldm-dot {
	margin: 0 4px;
	color: var(--ldm-faint);
}

.ldm .ldm-prose p {
	margin: 0 0 10px;
}

.ldm .ldm-prose ul {
	margin: 0 0 10px 1.2em;
	list-style: disc;
}

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

.ldm .ldm-btn,
.ldm button.ldm-btn,
.ldm a.ldm-btn,
.ldm summary.ldm-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	min-height: 44px;
	margin: 0;
	padding: 10px 22px;
	font-family: var(--ldm-font-ui);
	font-size: 15px;
	font-weight: 600;
	line-height: 1.2;
	letter-spacing: 0.01em;
	color: #fff;
	text-decoration: none;
	text-transform: none;
	white-space: nowrap;
	background: linear-gradient(180deg, var(--ldm-teal) 0%, var(--ldm-teal-d) 100%);
	border: 1px solid rgba(169, 203, 224, 0.35);
	border-radius: var(--ldm-radius-sm);
	box-shadow: 0 0 0 0 rgba(30, 138, 162, 0), inset 0 1px 0 rgba(255, 255, 255, 0.12);
	cursor: pointer;
	transition: transform 0.15s, box-shadow 0.2s, border-color 0.2s, background 0.2s;
	-webkit-appearance: none;
	appearance: none;
}

.ldm .ldm-btn:hover,
.ldm .ldm-btn:focus-visible {
	color: #fff;
	background: linear-gradient(180deg, var(--ldm-teal-l) 0%, var(--ldm-teal) 100%);
	border-color: rgba(169, 203, 224, 0.6);
	box-shadow: 0 0 0 4px rgba(30, 138, 162, 0.18), inset 0 1px 0 rgba(255, 255, 255, 0.16);
}

.ldm .ldm-btn:active {
	transform: translateY(1px);
}

.ldm .ldm-btn--block {
	width: 100%;
}

.ldm .ldm-btn--sm,
.ldm a.ldm-btn--sm,
.ldm button.ldm-btn--sm,
.ldm summary.ldm-btn--sm {
	min-height: 36px;
	padding: 6px 14px;
	font-size: 13.5px;
}

.ldm .ldm-btn--ghost,
.ldm a.ldm-btn--ghost,
.ldm button.ldm-btn--ghost,
.ldm summary.ldm-btn--ghost {
	color: var(--ldm-cream);
	background: rgba(0, 0, 0, 0.25);
	border-color: var(--ldm-line-strong);
	box-shadow: none;
}

.ldm .ldm-btn--ghost:hover,
.ldm .ldm-btn--ghost:focus-visible,
.ldm a.ldm-btn--ghost:hover,
.ldm button.ldm-btn--ghost:hover {
	color: var(--ldm-cream);
	background: rgba(255, 255, 255, 0.06);
	border-color: var(--ldm-tan);
	box-shadow: none;
}

.ldm .ldm-btn--text,
.ldm a.ldm-btn--text,
.ldm button.ldm-btn--text {
	color: var(--ldm-muted);
	background: transparent;
	border-color: transparent;
	box-shadow: none;
}

.ldm .ldm-btn--text:hover,
.ldm .ldm-btn--text:focus-visible,
.ldm button.ldm-btn--text:hover {
	color: var(--ldm-cream);
	background: rgba(255, 255, 255, 0.05);
	border-color: transparent;
	box-shadow: none;
}

.ldm .ldm-btn--danger:hover,
.ldm .ldm-btn--danger:focus-visible {
	color: var(--ldm-danger);
}

.ldm .ldm-linkbtn {
	display: inline-block;
	margin-top: 8px;
	padding: 0;
	font: inherit;
	font-size: 13px;
	background: none;
	border: 0;
	border-bottom: 1px solid rgba(217, 199, 163, 0.35);
	border-radius: 0;
	cursor: pointer;
}

/* ---------- Cards & tags ---------- */

.ldm .ldm-card {
	position: relative;
	padding: clamp(18px, 2.4vw, 26px);
	background: var(--ldm-panel);
	border: 1px solid var(--ldm-line);
	border-radius: var(--ldm-radius);
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.03);
}

.ldm .ldm-card--quiet {
	padding: 16px 20px;
	background: rgba(255, 255, 255, 0.02);
	border-style: dashed;
}

.ldm .ldm-tag {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	padding: 2px 10px;
	font-size: 12px;
	font-weight: 600;
	line-height: 1.6;
	color: var(--ldm-cream);
	background: rgba(255, 255, 255, 0.06);
	border: 1px solid var(--ldm-line);
	border-radius: 999px;
	white-space: nowrap;
}

.ldm .ldm-tag--gold {
	color: var(--ldm-gold);
	background: rgba(248, 183, 0, 0.08);
	border-color: rgba(248, 183, 0, 0.3);
}

.ldm .ldm-tag .ldm-icon {
	width: 12px;
	height: 12px;
}

.ldm .ldm-chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}

/* Status pills */
.ldm .ldm-status {
	--ldm-s: var(--ldm-ice);
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 4px 12px;
	font-family: var(--ldm-font-ui);
	font-size: 13px;
	font-weight: 600;
	color: var(--ldm-s);
	background: color-mix(in srgb, var(--ldm-s) 12%, transparent);
	border: 1px solid color-mix(in srgb, var(--ldm-s) 40%, transparent);
	border-radius: 999px;
	white-space: nowrap;
}

.ldm .ldm-status__dot {
	width: 8px;
	height: 8px;
	background: var(--ldm-s);
	border-radius: 50%;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ldm-s) 20%, transparent);
}

.ldm .ldm-status--confirmed { --ldm-s: var(--ldm-ok); }
.ldm .ldm-status--standby { --ldm-s: var(--ldm-gold); }
.ldm .ldm-status--signed { --ldm-s: var(--ldm-ice); }
.ldm .ldm-status--tentative { --ldm-s: var(--ldm-tan); }
.ldm .ldm-status--declined { --ldm-s: var(--ldm-danger); }

.ldm .ldm-status--lg {
	padding: 7px 16px;
	font-size: 15px;
}

.ldm .ldm-char-chip {
	--ldm-class: var(--ldm-tan);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-weight: 600;
	font-size: 13.5px;
	color: var(--ldm-class);
}

.ldm .ldm-char-chip::before {
	content: "";
	width: 8px;
	height: 8px;
	background: var(--ldm-class);
	border-radius: 2px;
	transform: rotate(45deg);
}

/* ---------- Notices ---------- */

.ldm .ldm-notice {
	margin: 0 0 20px;
	padding: 12px 16px 12px 44px;
	position: relative;
	font-size: 14.5px;
	color: var(--ldm-cream);
	background: rgba(169, 203, 224, 0.08);
	border: 1px solid rgba(169, 203, 224, 0.3);
	border-radius: var(--ldm-radius-sm);
}

.ldm .ldm-notice::before {
	content: "i";
	position: absolute;
	left: 14px;
	top: 12px;
	display: grid;
	place-items: center;
	width: 20px;
	height: 20px;
	font-size: 12px;
	font-weight: 700;
	color: var(--ldm-bg);
	background: var(--ldm-ice);
	border-radius: 50%;
}

.ldm .ldm-notice--success {
	background: rgba(76, 199, 161, 0.08);
	border-color: rgba(76, 199, 161, 0.35);
}

.ldm .ldm-notice--success::before {
	content: "✓";
	background: var(--ldm-ok);
}

.ldm .ldm-notice--error {
	background: rgba(224, 85, 127, 0.08);
	border-color: rgba(224, 85, 127, 0.4);
}

.ldm .ldm-notice--error::before {
	content: "!";
	background: var(--ldm-danger);
}

.ldm .ldm-notice ul {
	margin: 0;
}

.ldm .ldm-notice li + li {
	margin-top: 4px;
}

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

.ldm .ldm-form {
	display: grid;
	gap: 18px;
}

.ldm .ldm-field {
	display: block;
	min-width: 0;
	margin: 0;
	padding: 0;
	border: 0;
}

.ldm .ldm-field > label,
.ldm .ldm-field__row label {
	display: block;
	margin-bottom: 7px;
	font-size: 13.5px;
	font-weight: 600;
	color: var(--ldm-parch);
}

.ldm .ldm-field__row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
}

.ldm .ldm-field--compact > label {
	margin-bottom: 5px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ldm-text);
}

.ldm input[type="text"],
.ldm input[type="email"],
.ldm input[type="password"],
.ldm input[type="number"],
.ldm input[type="date"],
.ldm select,
.ldm textarea {
	display: block;
	width: 100%;
	min-height: 44px;
	margin: 0;
	padding: 10px 14px;
	font-family: var(--ldm-font-body);
	font-size: 15px;
	line-height: 1.4;
	color: var(--ldm-cream);
	background-color: rgba(5, 10, 12, 0.55);
	border: 1px solid var(--ldm-line-strong);
	border-radius: var(--ldm-radius-sm);
	box-shadow: inset 0 1px 2px rgba(0, 0, 0, 0.35);
	transition: border-color 0.15s, box-shadow 0.15s, background-color 0.15s;
	-webkit-appearance: none;
	appearance: none;
}

.ldm select {
	padding-right: 40px;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23d9c7a3'%3E%3Cpath d='M7 10l5 5 5-5z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 10px center;
	background-size: 22px;
}

.ldm select option,
.ldm select optgroup {
	color: #111;
	background: #fff;
}

.ldm input::placeholder {
	color: var(--ldm-faint);
	opacity: 1;
}

.ldm input:hover,
.ldm select:hover {
	border-color: rgba(217, 199, 163, 0.5);
}

.ldm input:focus,
.ldm select:focus,
.ldm textarea:focus {
	outline: none;
	background-color: rgba(5, 10, 12, 0.75);
	border-color: var(--ldm-teal-l);
	box-shadow: 0 0 0 3px rgba(30, 138, 162, 0.25);
}

.ldm input:disabled,
.ldm input[readonly] {
	color: var(--ldm-muted);
	background-color: rgba(255, 255, 255, 0.03);
	cursor: not-allowed;
}

.ldm input[type="number"] {
	-moz-appearance: textfield;
}

.ldm .ldm-field--compact input,
.ldm .ldm-field--compact select {
	min-height: 38px;
	padding-top: 7px;
	padding-bottom: 7px;
	font-size: 14px;
}

.ldm .ldm-password {
	position: relative;
}

.ldm .ldm-password input {
	padding-right: 70px;
}

.ldm .ldm-password__toggle,
.ldm button.ldm-password__toggle {
	position: absolute;
	top: 50%;
	right: 6px;
	min-height: 0;
	padding: 5px 10px;
	font-family: var(--ldm-font-ui);
	font-size: 12px;
	font-weight: 600;
	color: var(--ldm-tan);
	background: rgba(255, 255, 255, 0.05);
	border: 0;
	border-radius: 7px;
	box-shadow: none;
	transform: translateY(-50%);
	cursor: pointer;
}

.ldm .ldm-password__toggle:hover {
	color: var(--ldm-cream);
	background: rgba(255, 255, 255, 0.1);
}

.ldm .ldm-strength {
	height: 4px;
	margin-top: 8px;
	overflow: hidden;
	background: rgba(255, 255, 255, 0.07);
	border-radius: 4px;
}

.ldm .ldm-strength span {
	display: block;
	width: 0;
	height: 100%;
	background: var(--ldm-danger);
	border-radius: inherit;
	transition: width 0.25s, background 0.25s;
}

.ldm .ldm-strength[data-score="2"] span { background: var(--ldm-gold); }
.ldm .ldm-strength[data-score="3"] span { background: var(--ldm-ice); }
.ldm .ldm-strength[data-score="4"] span { background: var(--ldm-ok); }

/* Checkboxes, radios, switches */
.ldm .ldm-check,
.ldm .ldm-radio {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	font-size: 14.5px;
	color: var(--ldm-text);
	cursor: pointer;
}

.ldm .ldm-check--sm,
.ldm .ldm-radio {
	font-size: 13px;
	gap: 7px;
}

.ldm .ldm-radio--row {
	display: flex;
	margin-bottom: 8px;
	font-size: 14.5px;
}

.ldm input[type="checkbox"],
.ldm input[type="radio"] {
	flex: none;
	width: 18px;
	height: 18px;
	margin: 0;
	accent-color: var(--ldm-teal-l);
	cursor: pointer;
}

.ldm .ldm-switch {
	position: relative;
	display: flex;
	align-items: flex-start;
	gap: 12px;
	margin-top: 12px;
	font-size: 14.5px;
	cursor: pointer;
}

.ldm .ldm-switch input {
	position: absolute;
	opacity: 0;
	width: 1px;
	height: 1px;
}

.ldm .ldm-switch__ui {
	position: relative;
	flex: none;
	width: 40px;
	height: 22px;
	margin-top: 1px;
	background: rgba(255, 255, 255, 0.1);
	border: 1px solid var(--ldm-line-strong);
	border-radius: 999px;
	transition: background 0.2s, border-color 0.2s;
}

.ldm .ldm-switch__ui::after {
	content: "";
	position: absolute;
	top: 2px;
	left: 2px;
	width: 16px;
	height: 16px;
	background: var(--ldm-tan);
	border-radius: 50%;
	transition: transform 0.2s, background 0.2s;
}

.ldm .ldm-switch input:checked + .ldm-switch__ui {
	background: var(--ldm-teal);
	border-color: var(--ldm-teal-l);
}

.ldm .ldm-switch input:checked + .ldm-switch__ui::after {
	background: #fff;
	transform: translateX(18px);
}

.ldm .ldm-switch input:focus-visible + .ldm-switch__ui {
	outline: 2px solid var(--ldm-gold);
	outline-offset: 2px;
}

.ldm .ldm-switch--desc strong {
	display: block;
	font-weight: 600;
	color: var(--ldm-parch);
}

.ldm .ldm-switch--desc small {
	display: block;
	font-size: 12.5px;
	color: var(--ldm-faint);
}

.ldm .ldm-segment {
	display: inline-flex;
	padding: 3px;
	background: rgba(0, 0, 0, 0.3);
	border: 1px solid var(--ldm-line-strong);
	border-radius: var(--ldm-radius-sm);
}

.ldm .ldm-segment label {
	position: relative;
	cursor: pointer;
}

.ldm .ldm-segment input {
	position: absolute;
	opacity: 0;
}

.ldm .ldm-segment span {
	display: block;
	padding: 6px 14px;
	font-family: var(--ldm-font-ui);
	font-size: 13.5px;
	color: var(--ldm-muted);
	border-radius: 7px;
	transition: background 0.15s, color 0.15s;
}

.ldm .ldm-segment input:checked + span {
	color: #fff;
	background: var(--ldm-teal);
}

.ldm .ldm-segment input:focus-visible + span {
	outline: 2px solid var(--ldm-gold);
}

.ldm .ldm-fieldset {
	display: grid;
	gap: 16px;
	min-width: 0;
	margin: 0;
	padding: 20px 0 0;
	border: 0;
	border-top: 1px solid var(--ldm-line);
}

.ldm .ldm-fieldset legend {
	padding: 0 12px 0 0;
	font-family: var(--ldm-font-caps);
	font-size: 13px;
	letter-spacing: 0.16em;
	color: var(--ldm-tan);
}

.ldm .ldm-form__actions {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
	justify-content: flex-end;
	padding-top: 4px;
}

.ldm .ldm-hp {
	position: absolute !important;
	left: -9999px !important;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

/* Grids */
.ldm .ldm-grid {
	display: grid;
	gap: 16px;
}

.ldm .ldm-grid--2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.ldm .ldm-grid--3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }

/* ---------- Auth ---------- */

.ldm .ldm-auth {
	display: grid;
	place-items: center;
	padding: clamp(8px, 3vw, 28px) 0;
}

.ldm .ldm-auth__card {
	width: 100%;
	max-width: 460px;
	padding: clamp(22px, 4vw, 38px);
	background: linear-gradient(180deg, rgba(23, 34, 40, 0.92), rgba(15, 23, 28, 0.92));
	border-color: var(--ldm-line-strong);
	box-shadow: var(--ldm-shadow);
}

.ldm .ldm-auth__card::before {
	content: "";
	position: absolute;
	inset: 0 24px auto;
	height: 2px;
	background: linear-gradient(90deg, transparent, var(--ldm-gold), transparent);
	opacity: 0.65;
}

.ldm .ldm-auth__card--wide {
	max-width: 980px;
}

.ldm .ldm-auth__head {
	margin-bottom: 24px;
	text-align: center;
}

.ldm .ldm-auth__head .ldm-lead {
	margin: 0 auto;
}

.ldm .ldm-auth__crest {
	display: block;
	width: 72px;
	height: 72px;
	margin: 0 auto 14px;
	object-fit: contain;
	filter: drop-shadow(0 6px 14px rgba(0, 0, 0, 0.6));
}

.ldm .ldm-auth__switch {
	margin-top: 22px;
	padding-top: 18px;
	font-size: 14px;
	text-align: center;
	color: var(--ldm-muted);
	border-top: 1px solid var(--ldm-line);
}

.ldm .ldm-auth__split {
	display: grid;
	grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr);
	gap: clamp(22px, 4vw, 44px);
}

.ldm .ldm-auth__card--wide .ldm-auth__head {
	text-align: left;
}

.ldm .ldm-auth__card--wide .ldm-auth__crest {
	margin-left: 0;
}

.ldm .ldm-auth__aside {
	padding: clamp(20px, 3vw, 30px);
	background:
		linear-gradient(180deg, rgba(245, 229, 207, 0.06), rgba(245, 229, 207, 0.02)),
		rgba(0, 0, 0, 0.2);
	border: 1px solid var(--ldm-line);
	border-radius: var(--ldm-radius);
	align-self: start;
}

.ldm .ldm-steps {
	margin-top: 18px;
	counter-reset: ldm-step;
}

.ldm .ldm-steps li {
	position: relative;
	padding: 0 0 18px 48px;
	counter-increment: ldm-step;
}

.ldm .ldm-steps li::before {
	content: counter(ldm-step);
	position: absolute;
	left: 0;
	top: 0;
	display: grid;
	place-items: center;
	width: 32px;
	height: 32px;
	font-family: var(--ldm-font-head);
	font-size: 16px;
	color: var(--ldm-gold);
	border: 1px solid rgba(248, 183, 0, 0.45);
	border-radius: 50%;
	background: rgba(248, 183, 0, 0.06);
}

.ldm .ldm-steps li:not(:last-child)::after {
	content: "";
	position: absolute;
	left: 16px;
	top: 36px;
	bottom: 4px;
	width: 1px;
	background: var(--ldm-line);
}

.ldm .ldm-steps strong {
	display: block;
	font-weight: 600;
	color: var(--ldm-parch);
}

.ldm .ldm-steps span {
	display: block;
	font-size: 13.5px;
	color: var(--ldm-muted);
}

/* ---------- Member shell ---------- */

.ldm .ldm-shell {
	display: grid;
	grid-template-columns: 250px minmax(0, 1fr);
	gap: clamp(20px, 3vw, 36px);
	align-items: start;
}

.ldm .ldm-side {
	position: sticky;
	top: 24px;
	padding: 18px;
	background: rgba(0, 0, 0, 0.25);
	border: 1px solid var(--ldm-line);
	border-radius: var(--ldm-radius);
}

.ldm .ldm-profile {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-bottom: 16px;
	margin-bottom: 12px;
	border-bottom: 1px solid var(--ldm-line);
}

.ldm .ldm-profile__text {
	display: grid;
	min-width: 0;
	line-height: 1.35;
}

.ldm .ldm-profile__name {
	--ldm-class: var(--ldm-cream);
	overflow: hidden;
	font-family: var(--ldm-font-head);
	font-size: 17px;
	font-weight: 400;
	color: var(--ldm-class);
	text-overflow: ellipsis;
}

.ldm .ldm-profile__meta {
	font-size: 12.5px;
	color: var(--ldm-muted);
}

.ldm .ldm-profile__user {
	font-size: 12px;
	color: var(--ldm-faint);
}

.ldm .ldm-nav {
	display: grid;
	gap: 2px;
}

.ldm .ldm-nav__item {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 12px;
	font-family: var(--ldm-font-ui);
	font-size: 14.5px;
	font-weight: 500;
	color: var(--ldm-muted);
	border: 1px solid transparent;
	border-radius: var(--ldm-radius-sm);
	transition: background 0.15s, color 0.15s;
}

.ldm .ldm-nav__item .ldm-icon {
	color: var(--ldm-faint);
}

.ldm .ldm-nav__item:hover {
	color: var(--ldm-cream);
	background: rgba(255, 255, 255, 0.05);
}

.ldm .ldm-nav__item.is-active {
	color: var(--ldm-cream);
	background: linear-gradient(90deg, rgba(16, 99, 119, 0.45), rgba(16, 99, 119, 0.12));
	border-color: rgba(30, 138, 162, 0.4);
}

.ldm .ldm-nav__item.is-active .ldm-icon {
	color: var(--ldm-gold);
}

.ldm .ldm-nav__item--muted {
	margin-top: 8px;
	padding-top: 14px;
	border-top: 1px solid var(--ldm-line);
	border-radius: 0;
}

.ldm .ldm-main {
	display: grid;
	gap: 32px;
	min-width: 0;
}

.ldm .ldm-main > .ldm-notice {
	margin: 0;
}

.ldm .ldm-section {
	display: grid;
	gap: 16px;
	min-width: 0;
}

.ldm .ldm-section__head {
	display: flex;
	flex-wrap: wrap;
	align-items: flex-end;
	justify-content: space-between;
	gap: 12px;
}

.ldm .ldm-section__head--page {
	align-items: center;
}

/* Stats */
.ldm .ldm-stats {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 12px;
	margin-top: 8px;
}

.ldm .ldm-stat {
	--ldm-s: var(--ldm-cream);
	display: grid;
	gap: 2px;
	padding: 16px 18px;
	background: rgba(0, 0, 0, 0.25);
	border: 1px solid var(--ldm-line);
	border-radius: var(--ldm-radius-sm);
}

.ldm .ldm-stat__num {
	font-family: var(--ldm-font-head);
	font-size: 32px;
	line-height: 1.1;
	color: var(--ldm-s);
}

.ldm .ldm-stat__label {
	font-size: 12.5px;
	color: var(--ldm-muted);
}

.ldm .ldm-stat--confirmed { --ldm-s: var(--ldm-ok); }
.ldm .ldm-stat--standby { --ldm-s: var(--ldm-gold); }

/* Next raid */
.ldm .ldm-next {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	overflow: hidden;
	background:
		radial-gradient(500px 220px at 100% 0%, rgba(248, 183, 0, 0.1), transparent 70%),
		linear-gradient(135deg, rgba(16, 99, 119, 0.35), rgba(11, 74, 92, 0.12));
	border-color: rgba(30, 138, 162, 0.35);
}

.ldm .ldm-next__title {
	margin: 0 0 4px;
	font-family: var(--ldm-font-head);
	font-size: clamp(24px, 3vw, 30px);
	font-weight: 400;
	color: var(--ldm-cream);
}

.ldm .ldm-next__time {
	font-weight: 600;
	color: var(--ldm-parch);
}

.ldm .ldm-next__status {
	display: grid;
	justify-items: start;
	gap: 10px;
	padding-left: 24px;
	border-left: 1px solid var(--ldm-line);
}

.ldm .ldm-next__hint {
	font-size: 13.5px;
}

/* Raid rows */
.ldm .ldm-raids {
	display: grid;
	gap: 10px;
}

.ldm .ldm-raid {
	display: grid;
	grid-template-columns: 64px minmax(0, 1fr) auto auto;
	gap: 18px;
	align-items: center;
	padding: 14px 18px;
	background: var(--ldm-panel);
	border: 1px solid var(--ldm-line);
	border-radius: var(--ldm-radius);
	transition: border-color 0.2s;
}

.ldm .ldm-raid:hover {
	border-color: var(--ldm-line-strong);
}

.ldm .ldm-raid.is-declined {
	border-style: dashed;
	background: rgba(0, 0, 0, 0.12);
}

.ldm .ldm-raid--open {
	grid-template-columns: 64px minmax(0, 1fr) minmax(280px, 0.9fr);
	align-items: start;
}

.ldm .ldm-raid__date {
	display: grid;
	place-items: center;
	align-content: center;
	height: 64px;
	background: linear-gradient(180deg, rgba(245, 229, 207, 0.1), rgba(245, 229, 207, 0.03));
	border: 1px solid var(--ldm-line-strong);
	border-radius: 12px;
}

.ldm .ldm-raid__day {
	font-family: var(--ldm-font-head);
	font-size: 26px;
	line-height: 1;
	color: var(--ldm-cream);
}

.ldm .ldm-raid__month {
	margin-top: 3px;
	font-family: var(--ldm-font-caps);
	font-size: 11px;
	letter-spacing: 0.18em;
	color: var(--ldm-gold);
	text-transform: uppercase;
}

.ldm .ldm-raid__title {
	margin: 0;
	font-family: var(--ldm-font-head);
	font-size: 19px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--ldm-cream);
}

.ldm .ldm-raid__title a {
	color: inherit;
}

.ldm .ldm-raid__time {
	font-size: 13.5px;
	color: var(--ldm-muted);
}

.ldm .ldm-raid__meta {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	margin-top: 8px;
}

.ldm .ldm-raid__note {
	font-size: 13px;
	font-style: italic;
	color: var(--ldm-faint);
}

.ldm .ldm-raid__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-end;
	gap: 6px;
}

.ldm .ldm-raid__actions form {
	margin: 0;
}

/* Disclosure (change sign-up) */
.ldm .ldm-disclosure {
	position: relative;
}

.ldm .ldm-disclosure > summary {
	list-style: none;
}

.ldm .ldm-disclosure > summary::-webkit-details-marker {
	display: none;
}

.ldm .ldm-disclosure[open] > summary {
	border-color: var(--ldm-tan);
}

.ldm .ldm-disclosure[open] > .ldm-signup {
	position: absolute;
	right: 0;
	top: calc(100% + 8px);
	z-index: 20;
	width: min(360px, 86vw);
	padding: 16px;
	background: var(--ldm-panel-solid);
	border: 1px solid var(--ldm-line-strong);
	border-radius: var(--ldm-radius);
	box-shadow: var(--ldm-shadow);
}

/* Sign-up form */
.ldm .ldm-signup {
	display: grid;
	gap: 10px;
}

.ldm .ldm-signup__row {
	display: grid;
	grid-template-columns: minmax(0, 1.3fr) minmax(0, 1fr);
	gap: 10px;
}

.ldm .ldm-signup__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

/* Announcements */
.ldm .ldm-news {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 14px;
}

.ldm .ldm-news__item {
	display: grid;
	align-content: start;
	gap: 8px;
}

.ldm .ldm-news__item.is-pinned {
	border-color: rgba(248, 183, 0, 0.35);
	background:
		linear-gradient(180deg, rgba(248, 183, 0, 0.06), transparent 60%),
		var(--ldm-panel);
}

.ldm .ldm-news__head {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.ldm .ldm-news__date {
	margin-left: auto;
	font-size: 12.5px;
	color: var(--ldm-faint);
}

.ldm .ldm-news__title {
	margin: 0;
	font-family: var(--ldm-font-head);
	font-size: 19px;
	font-weight: 400;
	line-height: 1.3;
	color: var(--ldm-cream);
}

.ldm .ldm-news__item .ldm-prose,
.ldm .ldm-news__summary {
	font-size: 14px;
	color: var(--ldm-muted);
}

.ldm .ldm-news__more > summary {
	display: inline-block;
	font-size: 13px;
	cursor: pointer;
	list-style: none;
}

.ldm .ldm-news__more > summary::-webkit-details-marker {
	display: none;
}

.ldm .ldm-news__more[open] > summary {
	display: none;
}

/* Empty state */
.ldm .ldm-empty {
	display: grid;
	justify-items: center;
	gap: 10px;
	padding: 34px 24px;
	text-align: center;
	border-style: dashed;
}

.ldm .ldm-empty > .ldm-icon {
	width: 40px;
	height: 40px;
	color: var(--ldm-gold);
	opacity: 0.7;
}

.ldm .ldm-empty p {
	max-width: 46ch;
	color: var(--ldm-muted);
}

/* ---------- Characters ---------- */

.ldm .ldm-chars {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));
	gap: 14px;
}

.ldm .ldm-char {
	--ldm-class: var(--ldm-tan);
	display: grid;
	align-content: start;
	gap: 16px;
	overflow: hidden;
}

.ldm .ldm-char::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	height: 3px;
	background: linear-gradient(90deg, var(--ldm-class), transparent 85%);
	opacity: 0.85;
}

.ldm .ldm-char.is-main {
	border-color: rgba(248, 183, 0, 0.35);
}

.ldm .ldm-char__head {
	display: flex;
	align-items: center;
	gap: 14px;
}

.ldm .ldm-char__id {
	min-width: 0;
	flex: 1;
}

.ldm .ldm-char__name {
	margin: 0;
	font-family: var(--ldm-font-head);
	font-size: 20px;
	font-weight: 400;
	line-height: 1.25;
	color: var(--ldm-class);
	overflow-wrap: anywhere;
}

.ldm .ldm-char__meta {
	font-size: 13px;
	color: var(--ldm-muted);
}

.ldm .ldm-char__main {
	align-self: flex-start;
}

.ldm .ldm-char__block .ldm-label {
	margin-bottom: 6px;
}

.ldm .ldm-char__notes {
	padding: 10px 12px;
	font-size: 13px;
	font-style: italic;
	color: var(--ldm-muted);
	background: rgba(245, 229, 207, 0.04);
	border-left: 2px solid var(--ldm-line-strong);
	border-radius: 0 8px 8px 0;
}

.ldm .ldm-char__actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
	padding-top: 14px;
	border-top: 1px solid var(--ldm-line);
}

.ldm .ldm-char__actions form {
	margin: 0;
}

.ldm .ldm-char__actions form:last-child {
	margin-left: auto;
}

/* Roles */
.ldm .ldm-role {
	--ldm-r: var(--ldm-tan);
	display: inline-flex;
	align-items: center;
	gap: 6px;
	padding: 3px 11px;
	font-family: var(--ldm-font-ui);
	font-size: 12.5px;
	font-weight: 600;
	color: var(--ldm-r);
	background: color-mix(in srgb, var(--ldm-r) 8%, transparent);
	border: 1px solid color-mix(in srgb, var(--ldm-r) 30%, transparent);
	border-radius: 999px;
}

.ldm .ldm-role.is-primary {
	color: #0d1418;
	background: var(--ldm-r);
	border-color: var(--ldm-r);
}

.ldm .ldm-role--tank { --ldm-r: #8fb3d9; }
.ldm .ldm-role--healer { --ldm-r: #7fd6a8; }
.ldm .ldm-role--melee { --ldm-r: #e8a07a; }
.ldm .ldm-role--ranged { --ldm-r: #c6a6f0; }

/* Professions */
.ldm .ldm-prof-chip {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 4px 12px;
	font-size: 13px;
	font-weight: 600;
	color: var(--ldm-parch);
	background: rgba(245, 229, 207, 0.06);
	border: 1px solid var(--ldm-line-strong);
	border-radius: 8px;
}

.ldm .ldm-prof-chip::before {
	content: "";
	width: 6px;
	height: 6px;
	background: var(--ldm-gold);
	border-radius: 50%;
	opacity: 0.8;
}

/* Character form */
.ldm .ldm-char-form {
	scroll-margin-top: 24px;
}

.ldm .ldm-preview {
	min-height: 1.6em;
	font-family: var(--ldm-font-head);
	font-size: 18px;
	color: var(--ldm-gold);
}

.ldm .ldm-roles-pick {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 10px;
}

.ldm .ldm-role-opt {
	--ldm-r: var(--ldm-tan);
	display: grid;
	gap: 8px;
	padding: 12px 14px;
	background: rgba(0, 0, 0, 0.22);
	border: 1px solid var(--ldm-line);
	border-left: 3px solid var(--ldm-r);
	border-radius: var(--ldm-radius-sm);
}

.ldm .ldm-role-opt--tank { --ldm-r: #8fb3d9; }
.ldm .ldm-role-opt--healer { --ldm-r: #7fd6a8; }
.ldm .ldm-role-opt--melee { --ldm-r: #e8a07a; }
.ldm .ldm-role-opt--ranged { --ldm-r: #c6a6f0; }

.ldm .ldm-role-opt__name {
	font-weight: 600;
	color: var(--ldm-r);
}

/* ---------- Raid view ---------- */

.ldm .ldm-back {
	justify-self: start;
	font-family: var(--ldm-font-ui);
	font-size: 14px;
	color: var(--ldm-muted);
}

.ldm .ldm-back:hover {
	color: var(--ldm-cream);
}

.ldm .ldm-main > .ldm-back {
	margin-bottom: -16px;
}

.ldm .ldm-raid-hero {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr);
	gap: 24px;
	align-items: center;
	background:
		radial-gradient(500px 220px at 100% 0%, rgba(248, 183, 0, 0.1), transparent 70%),
		linear-gradient(135deg, rgba(16, 99, 119, 0.35), rgba(11, 74, 92, 0.12));
	border-color: rgba(30, 138, 162, 0.35);
}

.ldm .ldm-raid-hero .ldm-title {
	margin-bottom: 4px;
}

.ldm .ldm-raid__date--lg {
	width: 92px;
	height: 92px;
}

.ldm .ldm-raid__date--lg .ldm-raid__day {
	font-size: 38px;
}

.ldm .ldm-raid__date--lg .ldm-raid__month {
	font-size: 13px;
}

.ldm .ldm-raid-cols {
	display: grid;
	grid-template-columns: minmax(0, 1.2fr) minmax(0, 1fr);
	gap: 16px;
	align-items: start;
}

.ldm .ldm-raid-mine,
.ldm .ldm-raid-summary {
	display: grid;
	gap: 16px;
}

.ldm .ldm-raid-mine__status {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 12px;
}

.ldm .ldm-raid-mine__withdraw {
	margin: -6px 0 0;
}

.ldm .ldm-raid-desc {
	padding-top: 16px;
	font-size: 14.5px;
	color: var(--ldm-muted);
	border-top: 1px solid var(--ldm-line);
}

.ldm .ldm-role-counts {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 10px;
}

.ldm .ldm-role-count {
	display: grid;
	gap: 2px;
	padding: 12px 14px;
	background: rgba(0, 0, 0, 0.22);
	border: 1px solid var(--ldm-line);
	border-top: 3px solid var(--ldm-r);
	border-radius: var(--ldm-radius-sm);
}

.ldm .ldm-role-count__num {
	font-family: var(--ldm-font-head);
	font-size: 28px;
	line-height: 1.1;
	color: var(--ldm-r);
}

.ldm .ldm-role-count__label {
	font-size: 12.5px;
	color: var(--ldm-muted);
}

.ldm .ldm-roster {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(320px, 1fr));
	gap: 14px;
	align-items: start;
}

.ldm .ldm-roster__group {
	padding: 16px 18px;
	background: var(--ldm-panel);
	border: 1px solid var(--ldm-line);
	border-radius: var(--ldm-radius);
}

.ldm .ldm-roster__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 0 0 10px;
	font-size: 14px;
	font-weight: 400;
}

.ldm .ldm-roster__list {
	display: grid;
}

.ldm .ldm-roster__item {
	display: grid;
	grid-template-columns: minmax(0, 1fr) auto auto;
	gap: 10px;
	align-items: center;
	padding: 8px 0;
	border-top: 1px solid var(--ldm-line);
}

.ldm .ldm-roster__item .ldm-char-chip {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ldm .ldm-roster__item.is-me {
	margin: 0 -10px;
	padding: 8px 10px;
	background: rgba(248, 183, 0, 0.06);
	border-radius: 8px;
}

.ldm .ldm-roster__class {
	font-size: 12.5px;
	color: var(--ldm-faint);
}

/* ---------- Account ---------- */

.ldm .ldm-settings {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 16px;
}

.ldm .ldm-settings__card {
	display: grid;
	align-content: start;
	gap: 18px;
	scroll-margin-top: 24px;
}

.ldm .ldm-settings__card--wide {
	grid-column: 1 / -1;
}

.ldm .ldm-settings__card:first-child {
	grid-column: 1 / -1;
}

.ldm .ldm-prefs {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 28px;
}

.ldm .ldm-prefs__group {
	display: grid;
	align-content: start;
	gap: 12px;
}

.ldm .ldm-prefs__group + .ldm-prefs__group {
	padding-left: 28px;
	border-left: 1px solid var(--ldm-line);
}

/* ---------- Header links shortcode ---------- */

.ldm-links {
	display: inline-flex;
	gap: 8px;
	align-items: center;
}

.ldm-links .ldm-btn {
	display: inline-flex;
	align-items: center;
	min-height: 38px;
	padding: 7px 16px;
	font-family: "Archivo", "Open Sans", sans-serif;
	font-size: 14px;
	font-weight: 600;
	color: #fff;
	text-decoration: none;
	background: linear-gradient(180deg, #106377 0%, #0b4a5c 100%);
	border: 1px solid rgba(169, 203, 224, 0.35);
	border-radius: 10px;
}

.ldm-links .ldm-btn:hover {
	color: #fff;
	background: linear-gradient(180deg, #1e8aa2 0%, #106377 100%);
}

.ldm-links .ldm-btn--ghost {
	color: #f3eee2;
	background: rgba(0, 0, 0, 0.25);
	border-color: rgba(217, 199, 163, 0.34);
}

.ldm-links .ldm-btn--ghost:hover {
	color: #f3eee2;
	background: rgba(255, 255, 255, 0.08);
}

/* ---------- Site skin (values taken from the Elementor kit) ---------- */

.ldm .ldm-title {
	font-size: clamp(32px, 4.2vw, 54px);
	line-height: 1.05;
	margin-bottom: 12px;
}

.ldm .ldm-eyebrow {
	margin-bottom: 8px;
	font-size: 17px;
	letter-spacing: 0.4px;
	color: var(--ldm-cream);
	text-transform: uppercase;
}

.ldm .ldm-lead {
	font-size: 17px;
	color: rgba(255, 255, 255, 0.75);
}

.ldm .ldm-subtitle {
	font-size: 24px;
	color: var(--ldm-cream);
}

.ldm .ldm-btn,
.ldm button.ldm-btn,
.ldm a.ldm-btn,
.ldm summary.ldm-btn {
	padding: 13px 24px;
	font-size: 16px;
	font-weight: 700;
	background: linear-gradient(135deg, #3fb8cc 0%, #0f6e84 100%);
	border: 0;
	box-shadow: rgba(7, 56, 72, 0.6) 0 4px 14px -4px;
}

.ldm .ldm-btn:hover,
.ldm .ldm-btn:focus-visible {
	background: linear-gradient(135deg, #5fcade 0%, #12819b 100%);
	box-shadow: rgba(7, 56, 72, 0.8) 0 6px 18px -4px, 0 0 0 3px rgba(63, 184, 204, 0.25);
}

.ldm .ldm-btn--sm,
.ldm a.ldm-btn--sm,
.ldm button.ldm-btn--sm,
.ldm summary.ldm-btn--sm {
	padding: 7px 14px;
	font-size: 14px;
}

.ldm .ldm-btn--ghost,
.ldm a.ldm-btn--ghost,
.ldm button.ldm-btn--ghost,
.ldm summary.ldm-btn--ghost {
	color: #fff;
	background: rgba(255, 255, 255, 0.07);
	border: 1px solid var(--ldm-line-strong);
	box-shadow: none;
}

.ldm .ldm-btn--ghost:hover,
.ldm .ldm-btn--ghost:focus-visible,
.ldm a.ldm-btn--ghost:hover,
.ldm button.ldm-btn--ghost:hover {
	color: #fff;
	background: rgba(255, 255, 255, 0.13);
	border-color: var(--ldm-parch);
	box-shadow: none;
}

.ldm .ldm-btn--text,
.ldm a.ldm-btn--text,
.ldm button.ldm-btn--text {
	background: transparent;
	border: 0;
	box-shadow: none;
}

.ldm .ldm-btn--text:hover,
.ldm button.ldm-btn--text:hover {
	background: rgba(255, 255, 255, 0.07);
	box-shadow: none;
}

/* Feature cards: solid teal with the gold hairline, like "Log in to see your character". */
.ldm .ldm-card,
.ldm .ldm-side {
	background: var(--ldm-card);
	border: 1px solid var(--ldm-gold-line);
	border-radius: 20px;
	box-shadow: var(--ldm-shadow);
}

/* List items and tiles: glass panels, like the stat boxes. */
.ldm .ldm-char.ldm-card,
.ldm .ldm-news__item.ldm-card,
.ldm .ldm-raid,
.ldm .ldm-roster__group,
.ldm .ldm-stat,
.ldm .ldm-role-count,
.ldm .ldm-role-opt,
.ldm .ldm-card--quiet {
	background: rgba(0, 0, 0, 0.18);
	border: 1px solid var(--ldm-line);
	border-radius: var(--ldm-radius);
	box-shadow: none;
}

.ldm .ldm-role-count {
	border-top: 3px solid var(--ldm-r);
}

.ldm .ldm-role-opt {
	border-left: 3px solid var(--ldm-r);
}

.ldm .ldm-card--quiet {
	border-style: dashed;
}

.ldm .ldm-char.is-main,
.ldm .ldm-news__item.is-pinned {
	border-color: rgba(248, 183, 0, 0.45);
}

.ldm .ldm-stat {
	text-align: center;
	padding: 18px;
}

.ldm .ldm-stat__num {
	font-size: 38px;
}

.ldm .ldm-stat__label {
	font-family: var(--ldm-font-ui);
	font-size: 12.5px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ldm-parch);
}

.ldm .ldm-next,
.ldm .ldm-raid-hero {
	background:
		radial-gradient(520px 240px at 100% 0%, rgba(248, 183, 0, 0.12), transparent 70%),
		var(--ldm-card);
	border-color: var(--ldm-gold-line);
}

.ldm .ldm-raid__date {
	background: rgba(0, 0, 0, 0.22);
	border-color: var(--ldm-line-strong);
}

.ldm .ldm-auth__card {
	background: var(--ldm-card);
}

.ldm .ldm-auth__aside {
	background: rgba(0, 0, 0, 0.18);
	border-color: var(--ldm-line);
}

.ldm input[type="text"],
.ldm input[type="email"],
.ldm input[type="password"],
.ldm input[type="number"],
.ldm input[type="date"],
.ldm select,
.ldm textarea {
	background-color: rgba(0, 0, 0, 0.25);
	border-color: rgba(245, 229, 207, 0.3);
}

.ldm input:focus,
.ldm select:focus,
.ldm textarea:focus {
	background-color: rgba(0, 0, 0, 0.35);
	border-color: var(--ldm-teal-l);
	box-shadow: 0 0 0 3px rgba(63, 184, 204, 0.25);
}

.ldm .ldm-disclosure[open] > .ldm-signup {
	background: var(--ldm-card);
	border-color: var(--ldm-gold-line);
}

.ldm .ldm-nav__item.is-active {
	background: linear-gradient(135deg, rgba(63, 184, 204, 0.28), rgba(15, 110, 132, 0.2));
	border-color: rgba(63, 184, 204, 0.45);
}

.ldm .ldm-fieldset {
	border-top-color: var(--ldm-line);
}

/* Header variant of [ldm_account_links] (matches the site header). */
.ldm-links--header {
	gap: 18px;
}

.ldm-links--header .ldm-links__text,
.ldm-links--header .ldm-links__pill {
	font-family: "Archivo", "Open Sans", sans-serif;
	font-size: 15px;
	font-weight: 700;
	line-height: 1.2;
	text-decoration: none !important;
	white-space: nowrap;
}

.ldm-links--header .ldm-links__text {
	max-width: 180px;
	overflow: hidden;
	color: #fff;
	text-overflow: ellipsis;
}

.ldm-links--header .ldm-links__text:hover {
	color: #f5e5cf;
}

.ldm-links--header .ldm-links__pill {
	padding: 9px 18px;
	color: #fff;
	background: linear-gradient(135deg, #3fb8cc 0%, #0f6e84 100%);
	border-radius: 10px;
	box-shadow: rgba(7, 56, 72, 0.6) 0 4px 14px -4px;
}

.ldm-links--header .ldm-links__pill:hover {
	color: #fff;
	background: linear-gradient(135deg, #5fcade 0%, #12819b 100%);
}

@media (max-width: 640px) {
	.ldm-links--header {
		gap: 12px;
	}

	.ldm-links--header .ldm-links__text {
		max-width: 110px;
		font-size: 14px;
	}

	.ldm-links--header .ldm-links__pill {
		padding: 7px 12px;
		font-size: 14px;
	}
}

/* ---------- Raid bosses ---------- */

.ldm .ldm-raid-bosses {
	padding-top: 16px;
	border-top: 1px solid var(--ldm-line);
}

.ldm .ldm-raid-bosses__list {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
	gap: 6px 18px;
	margin: 0;
	padding: 0;
	list-style: none;
	counter-reset: ldm-boss;
}

.ldm .ldm-raid-bosses__list li {
	position: relative;
	padding-left: 28px;
	font-size: 14.5px;
	color: var(--ldm-text);
	counter-increment: ldm-boss;
}

.ldm .ldm-raid-bosses__list li::before {
	content: counter(ldm-boss);
	position: absolute;
	left: 0;
	top: 1px;
	width: 20px;
	font-family: var(--ldm-font-ui);
	font-size: 12px;
	font-weight: 700;
	text-align: right;
	color: var(--ldm-gold);
}

/* ---------- Numbers ----------
   Marcellus draws old-style figures (0 looks like O, 1 like I), so every number
   uses Archivo with lining, tabular figures. */
.ldm .ldm-stat__num,
.ldm .ldm-raid__day,
.ldm .ldm-role-count__num,
.ldm .ldm-num {
	font-family: var(--ldm-font-ui);
	font-weight: 700;
	font-variant-numeric: lining-nums tabular-nums;
	letter-spacing: -0.01em;
}

.ldm .ldm-stat__num {
	font-size: 34px;
	line-height: 1.15;
}

.ldm .ldm-raid__day {
	font-size: 24px;
}

.ldm .ldm-raid__date--lg .ldm-raid__day {
	font-size: 34px;
}

.ldm .ldm-role-count__num {
	font-size: 26px;
}

.ldm .ldm-steps li::before {
	font-family: var(--ldm-font-ui);
	font-weight: 700;
}

/* Readability of switch descriptions. */
.ldm .ldm-switch--desc small {
	margin-top: 2px;
	line-height: 1.45;
	color: var(--ldm-muted);
}

/* ---------- Responsive ---------- */

@media (max-width: 1020px) {
	.ldm .ldm-prefs {
		grid-template-columns: 1fr 1fr;
	}

	.ldm .ldm-prefs__group:nth-child(3) {
		grid-column: 1 / -1;
		padding-left: 0;
		padding-top: 22px;
		border-left: 0;
		border-top: 1px solid var(--ldm-line);
	}

	.ldm .ldm-raid--open {
		grid-template-columns: 64px minmax(0, 1fr);
	}

	.ldm .ldm-raid--open .ldm-raid__signup {
		grid-column: 1 / -1;
	}
}

@media (max-width: 860px) {
	.ldm .ldm-raid-cols {
		grid-template-columns: minmax(0, 1fr);
	}

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

	.ldm .ldm-side {
		min-width: 0;
		position: static;
		padding: 14px;
	}

	.ldm .ldm-profile {
		padding-bottom: 12px;
	}

	.ldm .ldm-nav {
		display: flex;
		gap: 6px;
		overflow-x: auto;
		scrollbar-width: none;
		-webkit-overflow-scrolling: touch;
	}

	.ldm .ldm-nav::-webkit-scrollbar {
		display: none;
	}

	.ldm .ldm-nav__item {
		flex: none;
		padding: 8px 12px;
		font-size: 13.5px;
	}

	.ldm .ldm-nav__item--muted {
		margin: 0 0 0 auto;
		padding-top: 8px;
		border-top: 0;
		border-radius: var(--ldm-radius-sm);
	}

	.ldm .ldm-stats {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ldm .ldm-next {
		grid-template-columns: 1fr;
	}

	.ldm .ldm-next__status {
		padding: 18px 0 0;
		border-left: 0;
		border-top: 1px solid var(--ldm-line);
	}

	.ldm .ldm-auth__split,
	.ldm .ldm-settings {
		grid-template-columns: 1fr;
	}

	.ldm .ldm-raid {
		grid-template-columns: 56px minmax(0, 1fr);
		gap: 12px 14px;
	}

	.ldm .ldm-raid__date {
		height: 56px;
	}

	.ldm .ldm-raid__status,
	.ldm .ldm-raid__actions {
		grid-column: 2;
	}

	.ldm .ldm-raid__actions {
		justify-content: flex-start;
	}

	.ldm .ldm-disclosure[open] > .ldm-signup {
		left: 0;
		right: auto;
	}
}

@media (max-width: 640px) {
	.ldm {
		padding: 14px;
		border-radius: 14px;
	}

	.ldm .ldm-raid-hero {
		grid-template-columns: 1fr;
		gap: 14px;
	}

	.ldm .ldm-raid__date--lg {
		width: 72px;
		height: 72px;
	}

	.ldm .ldm-role-counts {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

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

	.ldm .ldm-roster__class {
		display: none;
	}


	.ldm .ldm-grid--2,
	.ldm .ldm-grid--3,
	.ldm .ldm-prefs {
		grid-template-columns: 1fr;
	}

	.ldm .ldm-prefs__group + .ldm-prefs__group,
	.ldm .ldm-prefs__group:nth-child(3) {
		padding: 22px 0 0;
		border-left: 0;
		border-top: 1px solid var(--ldm-line);
	}

	.ldm .ldm-raid--open .ldm-raid__signup,
	.ldm .ldm-raid__status,
	.ldm .ldm-raid__actions {
		grid-column: 1 / -1;
	}

	.ldm .ldm-signup__row {
		grid-template-columns: 1fr;
	}

	.ldm .ldm-chars {
		grid-template-columns: 1fr;
	}

	.ldm .ldm-disclosure {
		position: static;
	}

	.ldm .ldm-disclosure[open] > .ldm-signup {
		position: static;
		width: 100%;
		margin-top: 10px;
		box-shadow: none;
	}

	.ldm .ldm-raid__actions {
		display: grid;
		grid-template-columns: 1fr auto;
	}

	.ldm .ldm-form__actions .ldm-btn {
		width: 100%;
	}
}

@media (prefers-reduced-motion: reduce) {
	.ldm *,
	.ldm *::before,
	.ldm *::after {
		transition: none !important;
	}
}
