.wplm-root {
	--wplm-color-primary: #d6acac;
	--wplm-color-primary-hover: #d6ababc7;
	--wplm-color-text: #777171;
	--wplm-color-surface: #f2f2f2;
	--wplm-color-background: #ffffff;
	--wplm-color-heading: #000000;
	color: var(--wplm-color-text);
	font-family: inherit;
	font-size: 1rem;
	line-height: 1.5;
	max-width: 100%;
	min-width: 0;
	text-align: start;
}

.wplm-root,
.wplm-root * {
	box-sizing: border-box;
}

.wplm-root * {
	max-width: 100%;
	min-width: 0;
}

.wplm-form {
	display: grid;
	gap: 16px;
	width: 100%;
	max-width: 560px;
	margin-inline: auto;
	padding-block: 24px;
	padding-inline: 24px;
	background: var(--wplm-color-background);
	border: 1px solid var(--wplm-color-surface);
	border-radius: 8px;
	color: var(--wplm-color-text);
	overflow-wrap: anywhere;
}

.wplm-form h2,
.wplm-course-card h2,
.wplm-course-card h3 {
	margin-block: 0;
	color: var(--wplm-color-heading);
	font-size: 1.35rem;
	line-height: 1.25;
	text-align: start;
}

.wplm-form-row {
	display: grid;
	gap: 8px;
	text-align: start;
}

.wplm-field {
	display: grid;
	gap: 8px;
	width: 100%;
	min-height: 44px;
	padding-block: 10px;
	padding-inline: 14px;
	border: 1px solid var(--wplm-color-surface);
	border-radius: 6px;
	background: var(--wplm-color-surface);
	color: var(--wplm-color-heading);
	font: inherit;
	text-align: start;
}

.wplm-field input,
.wplm-field select,
.wplm-field textarea {
	width: 100%;
	min-height: 34px;
	padding-block: 6px;
	padding-inline: 0;
	border: 0;
	background: transparent;
	color: var(--wplm-color-heading);
	font: inherit;
	line-height: 1.4;
	outline: 0;
	text-align: start;
}

.wplm-field input:focus,
.wplm-field select:focus,
.wplm-field textarea:focus {
	box-shadow: inset 0 -2px 0 var(--wplm-color-primary);
}

.wplm-checkbox-row {
	display: flex;
	align-items: flex-start;
	gap: 10px;
	text-align: start;
	overflow-wrap: anywhere;
}

.wplm-checkbox-row input {
	flex: 0 0 auto;
	margin-block-start: 4px;
	margin-inline: 0;
}

.wplm-message {
	padding-block: 10px;
	padding-inline: 12px;
	background: var(--wplm-color-surface);
	border-inline-start: 4px solid var(--wplm-color-primary);
	color: var(--wplm-color-heading);
	text-align: start;
}

.wplm-button {
	min-height: 44px;
	padding-block: 10px;
	padding-inline: 18px;
	border: 0;
	border-radius: 6px;
	background: var(--wplm-color-primary);
	color: var(--wplm-color-heading);
	cursor: pointer;
	font: inherit;
	font-weight: 600;
	line-height: 1.3;
	text-align: center;
	white-space: normal;
}

.wplm-button:hover,
.wplm-button:focus {
	background: var(--wplm-color-primary-hover);
	color: var(--wplm-color-heading);
}

.wplm-button:focus-visible {
	outline: 2px solid var(--wplm-color-heading);
	outline-offset: 2px;
}

.wplm-course-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
	gap: 18px;
	width: 100%;
	margin-inline: auto;
}

.wplm-course-card {
	display: grid;
	gap: 12px;
	padding-block: 20px;
	padding-inline: 20px;
	background: var(--wplm-color-background);
	border: 1px solid var(--wplm-color-surface);
	border-radius: 8px;
	color: var(--wplm-color-text);
	text-align: start;
	overflow-wrap: anywhere;
}

.wplm-course-card p {
	margin-block: 0;
}

.wplm-course-nav {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-block: 18px;
	margin-inline: 0;
	text-align: start;
}

[dir="rtl"] .wplm-form,
[dir="rtl"] .wplm-course-card,
[dir="rtl"] .wplm-course-nav,
.wplm-root[dir="rtl"] {
	direction: rtl;
}

@media (max-width: 640px) {
	.wplm-root {
		width: 100%;
	}

	.wplm-form,
	.wplm-course-card {
		max-width: 100%;
		padding-block: 20px;
		padding-inline: 16px;
	}

	.wplm-button {
		width: 100%;
	}

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