/**
 * Ninja Forms — white paper modal layout + dark/light theme variants.
 *
 * Markup: `.sima-forms.sima-forms--papers` (dark, default)
 *         `.sima-forms.sima-forms--papers.sima-forms--papers--light` (light modal)
 */
.sima-forms--papers {
	--sima-paper-field-bg: rgba(20, 20, 24, 0.6);
	--sima-paper-field-border: rgba(255, 255, 255, 0.12);
	--sima-paper-field-color: rgba(250, 250, 250, 0.92);
	--sima-paper-field-placeholder: rgba(250, 250, 250, 0.4);
	--sima-paper-field-focus-border: #5998dd;
	--sima-paper-field-focus-ring: rgba(89, 152, 221, 0.4);
	--sima-paper-select-chevron: %23fafafa;
	--sima-paper-select-option-bg: #141418;
	--sima-paper-req-color: rgba(250, 250, 250, 0.45);
	--sima-paper-error-color: #f87171;
}

.sima-forms--papers.sima-forms--papers--light {
	--sima-paper-field-bg: #ffffff;
	--sima-paper-field-border: #e5e7eb;
	--sima-paper-field-color: #010f0e;
	--sima-paper-field-placeholder: #9ca3af;
	--sima-paper-field-focus-border: #5998dd;
	--sima-paper-field-focus-ring: rgba(89, 152, 221, 0.25);
	--sima-paper-select-chevron: %23010f0e;
	--sima-paper-select-option-bg: #ffffff;
	--sima-paper-req-color: #5998dd;
	--sima-paper-error-color: #dc2626;
}

/* Layout — single column; grid items are <nf-field> inside <nf-fields-wrap> */
.sima-forms--papers nf-fields-wrap,
.sima-forms--papers .nf-fields-wrap {
	display: grid !important;
	grid-template-columns: 1fr;
	row-gap: 0;
}

.sima-forms--papers nf-fields-wrap > nf-field {
	display: block;
	width: 100%;
	min-width: 0;
}

.sima-forms--papers nf-fields-wrap > nf-field:not(:has(.hidden-container)):not(:has(.hr-container)):not(:has(.submit-container)) {
	margin-bottom: 0.75rem;
}

.sima-forms--papers nf-fields-wrap > nf-field:not(:has(.hidden-container)):not(:has(.hr-container)):not(:has(.submit-container)):not(:has(~ nf-field:not(:has(.hidden-container)):not(:has(.hr-container)):not(:has(.submit-container)))) {
	margin-bottom: 0;
}

.sima-forms--papers nf-fields-wrap > nf-field:has(.submit-container) {
	margin-top: 1.25rem;
}

.sima-forms--papers .submit-container {
	margin: 0 !important;
	width: 100% !important;
}

/* Placeholder-style fields — hide NF labels when using in-field placeholders */
.sima-forms--papers .nf-field-label,
.sima-forms--papers .nf-field-label label {
	display: none !important;
}

.sima-forms--papers .ninja-forms-req-symbol {
	color: var(--sima-paper-req-color);
}

.sima-forms--papers .ninja-forms-field.nf-element:not([type="submit"]),
.sima-forms--papers select.ninja-forms-field.nf-element {
	width: 100%;
	height: 3rem;
	padding: 0 1rem;
	font-size: 1rem;
	color: var(--sima-paper-field-color);
	background: var(--sima-paper-field-bg);
	backdrop-filter: blur(12px);
	-webkit-backdrop-filter: blur(12px);
	border: 1px solid var(--sima-paper-field-border);
	border-radius: 0.75rem;
	outline: none;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
}

.sima-forms--papers.sima-forms--papers--light .ninja-forms-field.nf-element:not([type="submit"]),
.sima-forms--papers.sima-forms--papers--light select.ninja-forms-field.nf-element {
	backdrop-filter: none;
	-webkit-backdrop-filter: none;
}

.sima-forms--papers select.ninja-forms-field.nf-element {
	color: var(--sima-paper-field-placeholder);
	padding-right: 2.5rem;
}

.sima-forms--papers .nf-field-element:has(> select.ninja-forms-field.nf-element)::after {
	content: "";
	position: absolute;
	right: 0.75rem;
	top: 50%;
	width: 1rem;
	height: 1rem;
	transform: translateY(-50%);
	pointer-events: none;
	z-index: 1;
	background: center / contain no-repeat;
}

.sima-forms--papers:not(.sima-forms--papers--light) .nf-field-element:has(> select.ninja-forms-field.nf-element)::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fafafa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.sima-forms--papers.sima-forms--papers--light .nf-field-element:has(> select.ninja-forms-field.nf-element)::after {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23010f0e' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
}

.sima-forms--papers select.ninja-forms-field.nf-element.has-value,
.sima-forms--papers select.ninja-forms-field.nf-element:focus {
	color: var(--sima-paper-field-color);
}

.sima-forms--papers select.ninja-forms-field.nf-element option {
	color: var(--sima-paper-field-color);
	background: var(--sima-paper-select-option-bg);
}

.sima-forms--papers select.ninja-forms-field.nf-element option[disabled],
.sima-forms--papers select.ninja-forms-field.nf-element option[value=""] {
	color: var(--sima-paper-field-placeholder);
}

.sima-forms--papers .ninja-forms-field.nf-element:not([type="submit"])::placeholder {
	color: var(--sima-paper-field-placeholder);
}

.sima-forms--papers .ninja-forms-field.nf-element:not([type="submit"]):focus,
.sima-forms--papers select.ninja-forms-field.nf-element:focus {
	border-color: var(--sima-paper-field-focus-border);
	box-shadow: 0 0 0 2px var(--sima-paper-field-focus-ring);
}

.sima-forms--papers .nf-error-wrap.nf-error:not(:empty) {
	color: var(--sima-paper-error-color);
	font-size: 0.8125rem;
	margin-top: 0.25rem;
}

/* Dark modal — glass submit */
.sima-forms--papers:not(.sima-forms--papers--light) .submit-container .nf-field-element {
	position: relative;
	isolation: isolate;
	display: block;
	width: 100%;
	margin-top: 0 !important;
	border-radius: 9999px;
}

.sima-forms--papers:not(.sima-forms--papers--light) .submit-container .nf-field-element::before {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(180deg, rgba(255, 255, 255, 0.5) 0%, rgba(255, 255, 255, 0) 60%);
	-webkit-mask: linear-gradient(#000 0 0) content-box, linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	mask-composite: exclude;
	pointer-events: none;
	z-index: 0;
}

.sima-forms--papers:not(.sima-forms--papers--light) .submit-container .nf-field-element::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	background: linear-gradient(
		115deg,
		transparent 38%,
		rgba(255, 255, 255, 0.22) 49%,
		rgba(255, 255, 255, 0.22) 51%,
		transparent 62%
	);
	background-size: 250% 100%;
	background-position: 170% 0;
	pointer-events: none;
	z-index: 2;
	animation: sima-paper-glass-shine 6.5s ease-in-out infinite;
}

.sima-forms--papers:not(.sima-forms--papers--light) .ninja-forms-field[type="submit"] {
	position: relative;
	z-index: 1;
	width: 100%;
	height: 3rem;
	margin: 0;
	padding: 0 1rem;
	border: 1px solid rgba(255, 255, 255, 0.22);
	border-radius: 9999px;
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.18) 0%, rgba(255, 255, 255, 0.06) 100%);
	backdrop-filter: blur(16px) saturate(180%);
	-webkit-backdrop-filter: blur(16px) saturate(180%);
	color: #fafafa;
	font-size: 1rem;
	font-weight: 500;
	font-family: inherit;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	box-shadow:
		inset 0 1px 0 0 rgba(255, 255, 255, 0.45),
		inset 0 -1px 1px 0 rgba(255, 255, 255, 0.08),
		0 8px 32px rgba(0, 0, 0, 0.35);
	transition: background 0.4s ease, box-shadow 0.4s ease, transform 0.3s ease;
}

.sima-forms--papers:not(.sima-forms--papers--light) .submit-container .nf-field-element:hover .ninja-forms-field[type="submit"]:not(:disabled),
.sima-forms--papers:not(.sima-forms--papers--light) .ninja-forms-field[type="submit"]:hover {
	background: linear-gradient(135deg, rgba(255, 255, 255, 0.28) 0%, rgba(255, 255, 255, 0.12) 100%);
	box-shadow:
		inset 0 1px 0 0 rgba(255, 255, 255, 0.55),
		inset 0 -1px 1px 0 rgba(255, 255, 255, 0.1),
		0 12px 44px rgba(0, 0, 0, 0.45);
}

.sima-forms--papers:not(.sima-forms--papers--light) .ninja-forms-field[type="submit"]:active {
	transform: scale(0.97);
}

/* Light modal — solid primary submit (matches marketing modal comp) */
.sima-forms--papers.sima-forms--papers--light .submit-container .nf-field-element {
	display: block;
	width: 100%;
}

.sima-forms--papers.sima-forms--papers--light .ninja-forms-field[type="submit"] {
	width: 100%;
	height: 3rem;
	margin: 0;
	padding: 0 1.5rem;
	border: none;
	border-radius: 9999px;
	background: #5998dd;
	color: #ffffff;
	font-size: 1rem;
	font-weight: 500;
	font-family: inherit;
	line-height: 1.2;
	cursor: pointer;
	box-sizing: border-box;
	appearance: none;
	-webkit-appearance: none;
	transition: background-color 0.2s ease, transform 0.2s ease;
}

.sima-forms--papers.sima-forms--papers--light .ninja-forms-field[type="submit"]:hover {
	background: #4a87c9;
}

.sima-forms--papers.sima-forms--papers--light .ninja-forms-field[type="submit"]:active {
	transform: scale(0.98);
}

@keyframes sima-paper-glass-shine {
	0% {
		background-position: 170% 0;
	}
	55%,
	100% {
		background-position: -70% 0;
	}
}

@media (prefers-reduced-motion: reduce) {
	.sima-forms--papers:not(.sima-forms--papers--light) .submit-container .nf-field-element::after {
		animation: none;
	}
}
