/*
 * Forminator i Nilssons Åkeris stil.
 * Laddas bara när Forminator är aktivt (functions.php).
 *
 * Forminator skriver sin egen CSS med ID-selektorer (#forminator-module-12).
 * ":not(#nak-a):not(#nak-b)" ger våra regler högre vikt utan !important,
 * så formulärets egna färginställningar i Forminator påverkar inte utseendet.
 */

.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) {
	font-family: var(--wp--preset--font-family--body);
	color: var(--wp--preset--color--ink);
}

/* ---------- Rader och fält ---------- */
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-row:not(:last-child) {
	margin-bottom: 1rem;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-label,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-field > .forminator-label {
	font-family: var(--wp--preset--font-family--body);
	font-size: 0.9375rem;
	font-weight: 600;
	line-height: 1.4;
	color: var(--wp--preset--color--ink);
	margin-bottom: 0.35rem;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-label .forminator-required {
	color: #b42318;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-description {
	color: var(--wp--preset--color--muted);
	font-size: 0.875rem;
}

.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-input,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-textarea,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] {
	box-sizing: border-box;
	width: 100%;
	min-height: 48px;
	padding: 0.75rem 0.9rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	line-height: 1.4;
	color: var(--wp--preset--color--ink);
	background: var(--wp--preset--color--base);
	border: 1px solid #b9c4d2;
	border-radius: var(--wp--custom--radius);
	box-shadow: none;
	transition: border-color .15s, box-shadow .15s;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-textarea {
	min-height: 140px;
	resize: vertical;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-input::placeholder,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-textarea::placeholder {
	color: #7a8696;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-input:hover,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-textarea:hover,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:hover {
	border-color: #8d9bad;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-input:focus,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-textarea:focus,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-select2 + .forminator-select.select2-container--open .selection .select2-selection--single[role="combobox"],
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-select2 + .forminator-select.select2-container--focus .selection .select2-selection--single[role="combobox"] {
	outline: none;
	border-color: var(--wp--preset--color--primary);
	box-shadow: 0 0 0 3px rgba(20, 88, 191, .2);
}

/* Rullgardinsmeny (select2) */
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] {
	position: relative;
	display: flex;
	align-items: center;
	height: auto;
	padding-right: 2.5rem;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__rendered {
	padding: 0;
	font-size: 1rem;
	line-height: 1.4;
	color: var(--wp--preset--color--ink);
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__placeholder {
	color: #7a8696;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"] .select2-selection__arrow {
	position: absolute;
	top: 50%;
	right: 0.6rem;
	width: 28px;
	height: 28px;
	transform: translateY(-50%);
	color: var(--wp--preset--color--primary);
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"]:hover .select2-selection__arrow {
	color: var(--wp--preset--color--primary-dark);
}

/* Listan som öppnas läggs utanför formuläret, därför egen selektor. */
.forminator-select-dropdown-container--open:not(#nak-a):not(#nak-b) .forminator-select-dropdown.forminator-dropdown--default {
	border: 1px solid var(--wp--preset--color--primary);
	border-radius: var(--wp--custom--radius);
	box-shadow: 0 8px 24px rgba(10, 26, 44, .12);
	background: var(--wp--preset--color--base);
	overflow: hidden;
}
.forminator-select-dropdown-container--open:not(#nak-a):not(#nak-b) .forminator-dropdown--default .select2-results .select2-results__options .select2-results__option {
	padding: 0.65rem 0.9rem;
	font-family: var(--wp--preset--font-family--body);
	font-size: 1rem;
	color: var(--wp--preset--color--ink);
	background: transparent;
	border: 0;
	border-radius: 0;
	outline: none;
	box-shadow: none;
}
.forminator-select-dropdown-container--open:not(#nak-a):not(#nak-b) .forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--highlighted {
	background: var(--wp--preset--color--surface);
	color: var(--wp--preset--color--primary);
}
.forminator-select-dropdown-container--open:not(#nak-a):not(#nak-b) .forminator-dropdown--default .select2-results .select2-results__options .select2-results__option.select2-results__option--selected {
	background: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}

/* ---------- Radioknappar och kryssrutor ---------- */
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-radio,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-checkbox {
	min-height: 44px;
	align-items: center;
	margin: 0 1.5rem 0 0;
	color: var(--wp--preset--color--ink);
	font-size: 1rem;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-radio-label,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-checkbox-label,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-checkbox__label {
	color: var(--wp--preset--color--ink);
	font-size: 1rem;
	line-height: 1.5;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-checkbox__wrapper {
	align-items: flex-start;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-checkbox__wrapper .forminator-checkbox {
	min-height: 0;
	margin: 0.15rem 0.75rem 0 0;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-radio .forminator-radio-bullet,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-checkbox .forminator-checkbox-box {
	width: 20px;
	height: 20px;
	background: var(--wp--preset--color--base);
	border: 2px solid #8d9bad;
	box-shadow: none;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-checkbox .forminator-checkbox-box {
	border-radius: 4px;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-radio input:checked + .forminator-radio-bullet {
	border-color: var(--wp--preset--color--primary);
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-radio .forminator-radio-bullet:before {
	background: var(--wp--preset--color--primary);
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-checkbox input:checked + .forminator-checkbox-box {
	background: var(--wp--preset--color--primary);
	border-color: var(--wp--preset--color--primary);
	color: var(--wp--preset--color--base);
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-radio input:focus-visible + .forminator-radio-bullet,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-checkbox input:focus-visible + .forminator-checkbox-box {
	box-shadow: 0 0 0 3px rgba(20, 88, 191, .3);
}

/* ---------- Fel ---------- */
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-has_error .forminator-input,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-has_error .forminator-textarea,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-has_error .forminator-select2 + .forminator-select .selection .select2-selection--single[role="combobox"],
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-has_error .forminator-radio .forminator-radio-bullet,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-has_error .forminator-checkbox .forminator-checkbox-box {
	border-color: #b42318;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-error-message {
	margin-top: 0.35rem;
	padding: 0;
	background: none;
	color: #b42318;
	font-size: 0.875rem;
	font-weight: 500;
	line-height: 1.4;
}

/* ---------- Skicka-knapp, som sajtens knappar ---------- */
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-button-submit {
	min-height: 48px;
	padding: 0.85rem 1.5rem;
	font-family: var(--wp--preset--font-family--heading);
	font-size: 1.0625rem;
	font-weight: 600;
	letter-spacing: 0.02em;
	line-height: 1.2;
	color: var(--wp--preset--color--base);
	background: var(--wp--preset--color--primary);
	border: 0;
	border-radius: var(--wp--custom--radius);
	box-shadow: none;
	cursor: pointer;
	transition: background-color .15s;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-button-submit:hover {
	background: var(--wp--preset--color--primary-dark);
	color: var(--wp--preset--color--base);
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-button-submit:focus-visible {
	outline: 3px solid var(--wp--preset--color--accent);
	outline-offset: 3px;
	box-shadow: none;
}
@media (max-width: 600px) {
	.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-button-submit {
		width: 100%;
	}
}

/* ---------- Meddelanden efter skickat formulär ---------- */
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-response-message {
	padding: 1rem 1.25rem;
	border-radius: var(--wp--custom--radius);
	border: 0;
	border-left: 4px solid;
	box-shadow: none;
	font-size: 1rem;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-response-message.forminator-success {
	background: #ecf7ee;
	border-color: #1f7a3a;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-response-message.forminator-error {
	background: #fdeceb;
	border-color: #b42318;
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-response-message.forminator-loading {
	background: var(--wp--preset--color--surface);
	border-color: var(--wp--preset--color--primary);
}
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-response-message,
.forminator-ui.forminator-custom-form:not(#nak-a):not(#nak-b) .forminator-response-message p {
	color: var(--wp--preset--color--ink);
}
