/**
 * Native dp-entries guest download form ([guest_entry_form]).
 * Matches CF7 / auth field tokens — rounded outlines, not default browser fields.
 * Covers Content Split and a standalone/full-width shortcode block.
 */

.dpa-dl-entry {
	--dp-guest-form-fg: var(--dp-content-split-fg, var(--dp-color-surface, #f8f8f8));
	--dp-guest-form-muted: color-mix(in srgb, var(--dp-guest-form-fg) 55%, transparent);

	display: grid;
	gap: clamp(0.75rem, 1.6vw, 1rem);
	width: 100%;
	max-width: 100%;
	margin: 0;
	box-sizing: border-box;
	color: var(--dp-guest-form-fg);
}

.entry-content > .dpa-dl-entry,
.dp-site-main > .dpa-dl-entry,
.wp-block-shortcode:has(.dpa-dl-entry),
.entry-content > .wp-block-shortcode:has(.dpa-dl-entry) {
	width: min(100%, var(--dp-layout-wide, 90rem));
	max-width: min(100%, var(--dp-layout-wide, 90rem));
	margin-inline: auto;
	padding-inline: var(--dp-site-gutter, clamp(1.25rem, 4vw, 3rem));
	padding-block: var(--dp-section-space-y, clamp(2rem, 5vw, 4rem));
	box-sizing: border-box;
}

.dp-content-split__form .dpa-dl-entry,
.dp-content-split__form .wp-block-shortcode:has(.dpa-dl-entry) {
	width: 100%;
	max-width: none;
	margin: 0;
	padding: 0;
}

.dpa-dl-entry .border-input,
.dpa-dl-entry input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
.dpa-dl-entry select,
.dpa-dl-entry textarea {
	appearance: none;
	-webkit-appearance: none;
	width: 100%;
	max-width: 100%;
	box-sizing: border-box;
	margin: 0;
	padding: clamp(0.75rem, 1.5vw, 0.95rem) clamp(0.85rem, 1.8vw, 1rem);
	border: 1px solid var(--dp-color-border-strong, color-mix(in srgb, var(--dp-guest-form-fg) 28%, transparent));
	border-radius: var(--dp-radius-input, 1rem);
	background: color-mix(in srgb, var(--dp-guest-form-fg) 6%, transparent);
	box-shadow: none;
	color: var(--dp-guest-form-fg);
	font-family: var(--dp-font-primary);
	font-size: clamp(0.9375rem, 1.8vw, 1rem);
	font-style: normal;
	line-height: 1.4;
	color-scheme: dark;
	transition:
		border-color var(--dp-transition, 180ms ease),
		background-color var(--dp-transition, 180ms ease),
		box-shadow var(--dp-transition, 180ms ease);
}

.dpa-dl-entry select {
	background-image: linear-gradient(45deg, transparent 50%, var(--dp-guest-form-fg) 50%),
		linear-gradient(135deg, var(--dp-guest-form-fg) 50%, transparent 50%);
	background-position:
		calc(100% - 1.15rem) 50%,
		calc(100% - 0.75rem) 50%;
	background-size: 0.4rem 0.4rem, 0.4rem 0.4rem;
	background-repeat: no-repeat;
	padding-inline-end: 2.25rem;
}

.dpa-dl-entry .border-input::placeholder,
.dpa-dl-entry input::placeholder {
	color: var(--dp-guest-form-muted);
	font-size: 0.8125rem;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	opacity: 1;
}

.dpa-dl-entry .border-input:hover,
.dpa-dl-entry input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]):hover,
.dpa-dl-entry select:hover {
	border-color: color-mix(in srgb, var(--dp-color-brand, #d8f800) 55%, transparent);
}

.dpa-dl-entry .border-input:focus,
.dpa-dl-entry input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]):focus,
.dpa-dl-entry select:focus {
	outline: none;
	border-color: var(--dp-color-brand, #d8f800);
	background: color-mix(in srgb, var(--dp-guest-form-fg) 8%, transparent);
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--dp-color-brand, #d8f800) 18%, transparent);
}

.dpa-dl-entry .contact-form__bottom {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: flex-start;
	gap: 1rem 1.75rem;
	margin-top: 0.35rem;
}

.dpa-dl-entry .contact-form__bottom > :not(.contact-form__submit-button):not(.contact-form__checkbox-label) {
	position: absolute;
	width: 1px;
	height: 1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
}

.dpa-dl-entry .contact-form__checkbox-label {
	display: block;
	position: relative;
	order: 2;
	flex: 1 1 16rem;
	min-width: min(100%, 16rem);
	max-width: 28rem;
	margin: 0;
	padding-inline-start: 1.9rem;
	font-family: var(--dp-font-primary);
	font-size: 0.875rem;
	font-weight: 400;
	line-height: 1.5;
	color: color-mix(in srgb, var(--dp-guest-form-fg) 88%, transparent);
	cursor: pointer;
}

.dpa-dl-entry .contact-form__checkbox-label input[type="checkbox"] {
	position: absolute;
	inset-inline-start: 0;
	top: 0.2rem;
	width: 1.125rem;
	height: 1.125rem;
	margin: 0;
	padding: 0;
	border: 1px solid color-mix(in srgb, var(--dp-guest-form-fg) 40%, transparent);
	border-radius: 0.2rem;
	accent-color: var(--dp-color-brand, #d8f800);
	background: transparent;
}

.dpa-dl-entry .contact-form__checkbox-label a {
	display: inline !important;
	color: var(--dp-color-brand, #d8f800);
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.15em;
}

.dpa-dl-entry .contact-form__submit-button {
	order: 1;
	flex: 0 0 auto;
	width: auto;
	min-height: var(--dp-button-line-height, 2.75rem);
	padding: 0 var(--dp-button-padding-x, 1.25rem);
	border: 1px solid transparent;
	border-radius: var(--dp-radius-button, 999px);
	background: var(--dp-color-brand, #d8f800);
	color: var(--dp-color-base, #000);
	font-family: var(--dp-font-primary);
	font-size: var(--dp-button-font-size, 1rem);
	font-weight: var(--dp-button-font-weight, 500);
	line-height: 1.2;
	cursor: pointer;
}

.dpa-dl-entry .contact-form__submit-button:hover,
.dpa-dl-entry .contact-form__submit-button:focus-visible {
	background: color-mix(in srgb, var(--dp-color-brand, #d8f800) 88%, #fff);
	color: var(--dp-color-base, #000);
}

.dpa-dl-entry .g-recaptcha:empty,
.dpa-dl-entry .brochure__form__captcha:empty {
	display: none;
}

.dpa-dl-entry > span {
	display: block;
	margin: 0 0 0.75rem;
	box-sizing: border-box;
}

@media (max-width: 540px) {
	.dpa-dl-entry .contact-form__bottom {
		flex-direction: column;
		align-items: flex-start;
	}

	.dpa-dl-entry .contact-form__checkbox-label {
		max-width: none;
	}
}

.dpa-dl-entry + p,
.entry-content p:has(+ .download-entry) {
	font-family: var(--dp-font-primary);
	color: var(--dp-color-surface, #f8f8f8);
}

a.download-entry,
a.download-entry:any-link,
a.links-container__button.download-entry,
a.links-container__button.download-entry:any-link {
	display: inline-flex;
	align-items: center;
	gap: 0.45rem;
	min-height: var(--dp-button-line-height, 2.75rem);
	margin-top: 0.75rem;
	padding: 0 var(--dp-button-padding-x, 1.25rem);
	border: 1px solid transparent;
	border-radius: var(--dp-radius-button, 999px);
	background: var(--dp-color-brand, #d8f800);
	/* Beat dp-entries inline style="color: #fff;" so this matches .dp-button--primary. */
	color: #000 !important;
	-webkit-text-fill-color: #000;
	font-family: var(--dp-font-primary);
	font-size: var(--dp-button-font-size, 1rem);
	font-weight: var(--dp-button-font-weight, 500);
	line-height: 1.2;
	text-decoration: none !important;
	text-decoration-line: none !important;
}

a.download-entry:hover,
a.download-entry:focus-visible,
a.links-container__button.download-entry:hover,
a.links-container__button.download-entry:focus-visible {
	background: color-mix(in srgb, var(--dp-color-brand, #d8f800) 88%, #fff);
	color: #000 !important;
	-webkit-text-fill-color: #000;
}

.dp-content-split--primary .dpa-dl-entry .border-input,
.dp-content-split--primary .dpa-dl-entry input:not([type="checkbox"]):not([type="hidden"]):not([type="submit"]),
.dp-content-split--primary .dpa-dl-entry select {
	color-scheme: light;
	color: var(--dp-color-base, #000);
	border-color: color-mix(in srgb, var(--dp-color-base, #000) 28%, transparent);
	background: color-mix(in srgb, var(--dp-color-base, #000) 6%, transparent);
}

.dp-content-split--primary .dpa-dl-entry .contact-form__submit-button,
.dp-content-split--primary a.download-entry,
.dp-content-split--primary a.download-entry:any-link {
	background: var(--dp-color-base, #000);
	color: var(--dp-color-brand, #d8f800) !important;
	-webkit-text-fill-color: var(--dp-color-brand, #d8f800);
}

.dp-content-split--primary .dpa-dl-entry .contact-form__submit-button:hover,
.dp-content-split--primary .dpa-dl-entry .contact-form__submit-button:focus-visible,
.dp-content-split--primary a.download-entry:hover,
.dp-content-split--primary a.download-entry:focus-visible {
	background: color-mix(in srgb, var(--dp-color-base, #000) 88%, var(--dp-color-brand, #d8f800));
	color: var(--dp-color-brand, #d8f800) !important;
	-webkit-text-fill-color: var(--dp-color-brand, #d8f800);
}
