.jd-submit-event {
	--jd-event-bg: #fafafa;
	--jd-event-ink: #171717;
	--jd-event-muted: #74746f;
	--jd-event-green: #83aa91;
	--jd-event-peach: #eb9471;
	background: var(--jd-event-bg);
	color: var(--jd-event-ink);
	padding: clamp(60px, 8vw, 120px) 20px 120px;
}

.jd-submit-event * {
	box-sizing: border-box;
}

.jd-submit-event__container {
	margin: 0 auto;
	max-width: 1220px;
}

.jd-submit-event__header {
	margin-bottom: 48px;
	max-width: 760px;
}

.jd-submit-event__rules {
	display: flex;
	gap: 8px;
	margin-bottom: 24px;
}

.jd-submit-event__rules span {
	background: #7fa78d;
	height: 5px;
	width: 48px;
}

.jd-submit-event__rules span:nth-child(2) { background: #938fc0; }
.jd-submit-event__rules span:nth-child(3) { background: #e79070; }
.jd-submit-event__rules span:nth-child(4) { background: #e8bc62; }

body .jd-submit-event__header h1 {
	color: var(--jd-event-ink);
	font-family: Dosis, sans-serif;
	font-size: clamp(42px, 6vw, 70px);
	font-weight: 700;
	letter-spacing: .07em;
	line-height: 1;
	margin: 0 0 26px;
	text-transform: uppercase;
}

.jd-submit-event__header p,
.jd-event-form__section-note {
	color: var(--jd-event-muted);
	font-size: 16px;
	font-style: italic;
	line-height: 1.7;
	margin: 0;
}

.jd-submit-event__layout {
	display: grid;
	gap: 64px;
	grid-template-columns: minmax(0, 720px) minmax(280px, 390px);
	justify-content: space-between;
}

.jd-submit-event__success,
.jd-submit-event__error-summary {
	border: 1px solid var(--jd-event-green);
	margin: 0 0 36px;
	max-width: 720px;
	padding: 18px 20px;
}

.jd-submit-event__success { background: #eff6f0; display: flex; flex-direction: column; gap: 4px; }
.jd-submit-event__error-summary { background: #fff0f0; border-color: #b52b2b; color: #8c1d1d; }

.jd-event-form__honeypot {
	height: 1px;
	left: -10000px;
	overflow: hidden;
	position: absolute;
	top: auto;
	width: 1px;
}

.jd-event-form__quick-fill {
	background: #fff;
	border: 2px solid #d1dfd2;
	margin-bottom: 44px;
	padding: 26px 28px;
}

.jd-event-form__quick-fill h2,
body .jd-event-form__section h2 {
	color: var(--jd-event-ink);
	font-family: Dosis, sans-serif;
	font-size: 25px;
	font-weight: 700;
	letter-spacing: .08em;
	margin: 0 0 18px;
	text-transform: uppercase;
}

.jd-event-form__quick-fill h2 { color: var(--jd-event-green); font-size: 18px; margin-bottom: 8px; }
.jd-event-form__quick-fill h2 span,
.jd-event-form__section h2 span,
.jd-event-field label span { color: #9a9a94; font-family: Inter, sans-serif; font-size: 12px; letter-spacing: .03em; }
.jd-event-form__quick-fill p { color: var(--jd-event-muted); line-height: 1.55; margin: 0 0 16px; }

.jd-event-form__section {
	margin-bottom: 48px;
}

.jd-event-field {
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
	position: relative;
}

.jd-event-field > label,
.jd-event-field > legend,
.jd-event-form__price > legend,
.jd-event-form__tags fieldset > legend {
	color: #5f625f;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: .09em;
	margin-bottom: 8px;
	text-transform: uppercase;
}

.jd-event-form input[type='text'],
.jd-event-form input[type='email'],
.jd-event-form input[type='tel'],
.jd-event-form input[type='url'],
.jd-event-form input[type='date'],
.jd-event-form input[type='time'],
.jd-event-form textarea,
.jd-event-form select {
	background: transparent;
	border: 1px solid var(--jd-event-ink);
	border-radius: 0;
	color: var(--jd-event-ink);
	font: inherit;
	min-height: 58px;
	padding: 14px 18px;
	width: 100%;
}

.jd-event-form textarea { resize: vertical; }
.jd-event-form input:focus,
.jd-event-form textarea:focus,
.jd-event-form select:focus { border-color: var(--jd-event-green); outline: 2px solid rgba(131, 170, 145, .25); outline-offset: 1px; }
.jd-event-field.has-error input,
.jd-event-field.has-error textarea,
.jd-event-field.has-error select { border-color: #b52b2b; }
.jd-event-field__error { color: #a51f1f; display: block; font-size: 13px; margin: 6px 0 0; }
.jd-event-field__counter { align-self: flex-end; color: #aaa9a3; font-size: 11px; margin-top: 5px; }

.jd-event-form__date-grid,
.jd-event-form__time-grid,
.jd-event-form__split {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.jd-event-form__check {
	align-items: flex-start;
	cursor: pointer;
	display: flex;
	gap: 10px;
	line-height: 1.5;
	margin: 0 0 18px;
}

.jd-event-form__check input { flex: 0 0 auto; height: 18px; margin-top: 2px; width: 18px; }

.jd-event-form__toggle-row {
	align-items: center;
	border: 1px solid var(--jd-event-ink);
	display: flex;
	justify-content: space-between;
	margin: 2px 0 20px;
	padding: 18px 20px;
}

.jd-event-form__toggle-row > span { display: flex; flex-direction: column; }
.jd-event-form__toggle-row small { color: #999991; margin-top: 4px; }
.jd-event-form__switch input { opacity: 0; position: absolute; }
.jd-event-form__switch > span { background: #d4d4d1; border-radius: 20px; cursor: pointer; display: block; height: 28px; position: relative; width: 50px; }
.jd-event-form__switch > span::after { background: #fff; border-radius: 50%; content: ''; height: 22px; left: 3px; position: absolute; top: 3px; transition: transform .2s; width: 22px; }
.jd-event-form__switch input:checked + span { background: var(--jd-event-green); }
.jd-event-form__switch input:checked + span::after { transform: translateX(22px); }

.jd-event-form__choice-row,
.jd-event-form__tag-row { display: flex; flex-wrap: wrap; gap: 8px; }
.jd-event-form__choice-row input,
.jd-event-form__tag-row input { opacity: 0; position: absolute; }
.jd-event-form__choice-row span,
.jd-event-form__tag-row span { border: 1px solid #d4d4d0; cursor: pointer; display: block; font-size: 12px; font-weight: 700; letter-spacing: .04em; padding: 12px 14px; text-transform: uppercase;  background: #fff;}
.jd-event-form__choice-row input:checked + span,
.jd-event-form__tag-row input:checked + span { background: var(--jd-event-ink); border-color: var(--jd-event-ink); color: #fff; }
.jd-event-form__choice-row input:focus-visible + span,
.jd-event-form__tag-row input:focus-visible + span { outline: 2px solid var(--jd-event-green); outline-offset: 2px; }
.jd-event-form__price { border: 0; margin: 0 0 20px; padding: 0; }

.jd-event-form__upload {
	align-items: center;
	border: 2px dashed #c9c9c5;
	cursor: pointer;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 300px;
	padding: 28px;
	text-align: center;
}

.jd-event-form__upload.is-dragging { background: #f1f5ed; border-color: var(--jd-event-green); }
.jd-event-form__upload input { display: none; }
.jd-event-form__upload-icon { color: #aaa9a3; font-size: 42px; line-height: 1; margin-bottom: 10px; }
.jd-event-form__upload small { color: #aaa9a3; margin-top: 6px; }

.jd-event-form__tags fieldset { border: 0; margin: 0 0 22px; padding: 0; }
.jd-event-form__section-note { font-size: 15px; margin: -8px 0 24px; }
.jd-event-form__consents { border-top: 1px solid var(--jd-event-ink); margin-top: 18px; padding-top: 28px; }

body .jd-event-form__submit,
body .jd-event-form__submit:hover,
body .jd-event-form__submit:focus {
	background: #000;
	border: 2px solid #000;
	border-radius: 0;
	color: #fff;
	cursor: pointer;
	font-family: Dosis, sans-serif;
	font-size: 20px;
	font-weight: 700;
	letter-spacing: .11em;
	min-height: 76px;
	text-transform: uppercase;
	width: 100%;
}

body .jd-event-form__submit:hover,
body .jd-event-form__submit:focus { background: transparent; color: #000; }

.jd-event-preview { align-self: start; position: sticky; top: 40px; }
body .jd-event-preview > h2 { color: #797973; font-family: Dosis, sans-serif; font-size: 14px; letter-spacing: .08em; margin: 0 0 10px; text-transform: uppercase; }
.jd-event-preview__card { background: #fff; border: 1px solid var(--jd-event-ink); box-shadow: 4px 5px 0 #000; }
.jd-event-preview__image { align-items: center; background: #efede8; color: #cbc9c4; display: flex; height: 245px; justify-content: center; overflow: hidden; position: relative; }
.jd-event-preview__image img { height: 100%; object-fit: cover; width: 100%; }
.jd-event-preview__placeholder { font-size: 26px; }
.jd-event-preview__date-badge { align-items: center; background: #fff; color: #111; display: flex; flex-direction: column; left: 14px; line-height: 1; min-width: 45px; padding: 8px 7px; position: absolute; top: 14px; z-index: 2; }
.jd-event-preview__date-badge small { color: #777; font-size: 8px; letter-spacing: .08em; margin-bottom: 4px; }
.jd-event-preview__date-badge strong { font-size: 18px; }
.jd-event-preview__category { background: rgba(24, 24, 24, .88); color: #fff; font-size: 9px; font-weight: 700; max-width: 135px; overflow: hidden; padding: 5px 8px; position: absolute; right: 12px; text-overflow: ellipsis; top: 14px; white-space: nowrap; z-index: 2; }
.jd-event-preview__content { min-height: 250px; padding: 18px; }
body .jd-event-preview__content h3 { color: var(--jd-event-ink); font-family: Georgia, serif; font-size: 21px; font-weight: 700; margin: 0 0 13px; }
.jd-event-preview__meta { align-items: flex-start; color: #989895; display: flex; font-size: 11px; gap: 8px; line-height: 1.45; margin: 0 0 9px; }
.jd-event-preview__meta > span:first-child { color: #8e8e89; flex: 0 0 11px; font-size: 12px; text-align: center; }
.jd-event-preview__price-row { align-items: baseline; display: flex; justify-content: space-between; margin: 20px 0 14px; }
.jd-event-preview__price-row > strong { color: #111; font-size: 16px; }
.jd-event-preview__price-row small { color: #aaa; font-size: 9px; margin-left: 15px; text-align: right; }
.jd-event-preview__description { color: #989895; font-size: 11px; line-height: 1.55; margin: 0; overflow-wrap: anywhere; }
.jd-event-preview__tags { border-top: 1px solid #ecebe8; display: flex; flex-wrap: wrap; gap: 6px; margin-top: 17px; min-height: 31px; padding-top: 12px; }
.jd-event-preview__tags span { background: #f4f3f0; color: #999; font-size: 9px; padding: 4px 7px; }

[data-recurring-field][hidden],
[data-price-details][hidden],
[data-time-fields][hidden] { display: none !important; }

@media (max-width: 960px) {
	.jd-submit-event__layout { grid-template-columns: minmax(0, 1fr); }
	.jd-event-preview { display: none; }
}

@media (max-width: 600px) {
	.jd-submit-event { padding: 48px 14px 80px; }
	.jd-submit-event__header { margin-bottom: 34px; }
	.jd-submit-event__header p { font-size: 16px; }
	.jd-event-form__quick-fill { padding: 20px; }
	.jd-event-form__date-grid,
	.jd-event-form__time-grid,
	.jd-event-form__split { grid-template-columns: minmax(0, 1fr); }
	.jd-event-form__upload { min-height: 220px; }
	body .jd-event-form__submit { min-height: 64px; }
}
