/* Beta seats notice, module pricing, module page closing section. Colors come from the theme with fallbacks. */
.dfmos-beta-notice, .dfmos-beta-compact, .dfmos-module-pricing, .dfmos-module-cta {
	--dfmos-seam: var(--wp--preset--color--seam, #23272d);
	--dfmos-plate: var(--wp--preset--color--plate, #0d0f12);
	--dfmos-dim: var(--wp--preset--color--steel-dim, #8b929b);
	--dfmos-text: var(--wp--preset--color--steel, #c9ced4);
	--dfmos-bright: var(--wp--preset--color--bright, #eef1f4);
	--dfmos-hot: var(--wp--preset--color--ember-hot, #f08a2c);
	--dfmos-ember: var(--wp--preset--color--ember, #c45405);
	--dfmos-mono: var(--wp--preset--font-family--mono, ui-monospace, Menlo, monospace);
	--dfmos-display: var(--wp--preset--font-family--display, "Arial Narrow", sans-serif);
}

/* Status dot */
.dfmos-bc-dot { width: 8px; height: 8px; border-radius: 50%; background: var(--dfmos-hot); box-shadow: 0 0 10px var(--dfmos-ember); flex: none; display: inline-block; }
.is-waitlist .dfmos-bc-dot { background: transparent; border: 2px solid var(--dfmos-hot); box-shadow: none; width: 9px; height: 9px; }
.is-closed .dfmos-bc-dot { background: var(--dfmos-dim); box-shadow: none; }

/* Full notice */
.dfmos-beta-notice {
	box-sizing: border-box;
	border: 1px solid var(--dfmos-seam);
	border-left: 3px solid var(--dfmos-hot);
	background: linear-gradient(135deg, rgba(196, 84, 5, 0.12), transparent 55%), var(--dfmos-plate);
	padding: 22px 24px;
	display: grid;
	gap: 8px;
}
.dfmos-beta-notice.is-closed { border-left-color: var(--dfmos-dim); background: var(--dfmos-plate); }
.dfmos-beta-notice > p { margin: 0; }
.dfmos-bn-status {
	display: flex;
	align-items: center;
	gap: 8px;
	font-family: var(--dfmos-mono);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dfmos-hot);
}
.is-closed .dfmos-bn-status { color: var(--dfmos-dim); }
.dfmos-bn-title {
	font-family: var(--dfmos-display);
	font-weight: 700;
	font-size: clamp(1.4rem, 2.6vw, 1.75rem);
	line-height: 1.1;
	text-transform: uppercase;
	color: var(--dfmos-bright);
}
.dfmos-bn-text { color: var(--dfmos-text); max-width: 70ch; }
.dfmos-bn-msg { color: var(--dfmos-bright); font-weight: 500; }

/* One-line notice */
.dfmos-beta-compact {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px 12px;
	font-family: var(--dfmos-mono);
	font-size: 0.8125rem;
	letter-spacing: 0.06em;
	color: var(--dfmos-dim);
	margin: 0;
}
.dfmos-bc-title { color: var(--dfmos-bright); font-weight: 500; display: inline-flex; align-items: center; gap: 8px; }
.dfmos-bc-status { border: 1px solid var(--dfmos-seam); padding: 3px 8px; font-size: 0.75rem; letter-spacing: 0.08em; text-transform: uppercase; white-space: nowrap; }
.is-accepting .dfmos-bc-status { color: var(--dfmos-hot); border-color: rgba(240, 138, 44, 0.45); }
.dfmos-bc-link { color: var(--dfmos-hot); text-decoration: none; }
.dfmos-bc-link::after { content: " \2192"; }
.dfmos-bc-link:hover { text-decoration: underline; }

/* Module pricing */
.dfmos-module-pricing { display: grid; gap: 16px; }
.dfmos-module-pricing p { margin: 0; }
.dfmos-mp-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 6px 20px; }
.dfmos-mp-label {
	font-family: var(--dfmos-mono);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: var(--dfmos-hot);
}
.dfmos-mp-sep, .dfmos-mp-note { font-size: 0.9375rem; color: var(--dfmos-dim); }
.dfmos-tiers { display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 13rem), 1fr)); border: 1px solid var(--dfmos-seam); }
.dfmos-tier { padding: 20px 22px; display: grid; gap: 6px; align-content: start; border-right: 1px solid var(--dfmos-seam); margin-right: -1px; border-bottom: 1px solid var(--dfmos-seam); margin-bottom: -1px; }
.dfmos-tier-name { font-family: var(--dfmos-mono); font-size: 0.75rem; letter-spacing: 0.12em; text-transform: uppercase; color: var(--dfmos-dim); }
.dfmos-tier-price { font-family: var(--dfmos-display); font-weight: 800; font-size: 2rem; line-height: 1; color: var(--dfmos-bright); font-variant-numeric: tabular-nums; }
.dfmos-tier-price span { font-family: var(--wp--preset--font-family--body, sans-serif); font-weight: 400; font-size: 0.9375rem; color: var(--dfmos-dim); }
.dfmos-tier-summary { font-size: 0.9375rem; color: var(--dfmos-text); }
.dfmos-mp-state {
	border: 1px solid var(--dfmos-seam);
	padding: 18px 22px;
	font-family: var(--dfmos-display);
	font-weight: 700;
	font-size: 1.375rem;
	text-transform: uppercase;
	color: var(--dfmos-bright);
}
.dfmos-mp-state a { font-family: var(--wp--preset--font-family--body, sans-serif); font-weight: 500; font-size: 1rem; text-transform: none; color: var(--dfmos-hot); margin-left: 8px; }
.dfmos-mp-works { border-top: 1px solid var(--dfmos-seam); padding-top: 16px; display: grid; gap: 6px; }
.dfmos-mp-works a { color: var(--dfmos-hot); }

/* Module page closing section */
.dfmos-module-cta { display: grid; grid-template-columns: minmax(0, 1.4fr) minmax(0, 1fr); gap: 24px 48px; align-items: center; }
.dfmos-module-cta p { margin: 0; }
.dfmos-mc-text { display: grid; gap: 12px; }
.dfmos-mc-eyebrow { font-family: var(--dfmos-mono); font-size: 0.75rem; font-weight: 500; letter-spacing: 0.16em; text-transform: uppercase; color: var(--dfmos-hot); }
.dfmos-module-cta .dfmos-mc-heading {
	margin: 0;
	font-family: var(--dfmos-display);
	font-weight: 700;
	font-size: clamp(2rem, 4vw, 3rem);
	line-height: 1.02;
	text-transform: uppercase;
	color: var(--dfmos-bright);
}
.dfmos-mc-actions { display: grid; gap: 16px; }
.dfmos-mc-actions .wp-block-buttons { display: flex; flex-wrap: wrap; gap: 12px; }
.dfmos-mc-seats { font-size: 0.875rem; color: var(--dfmos-dim); }
.dfmos-mc-seats strong { color: var(--dfmos-bright); font-weight: 600; }
@media (max-width: 781px) { .dfmos-module-cta { grid-template-columns: minmax(0, 1fr); } }
