/*
 * Φόρμες και newsletter του notosweb-core.
 * Διάταξη και μηνύματα: φορτώνεται πάντα. Η εμφάνιση των πεδίων είναι στο
 * forms-skin.css και σβήνει από τις ρυθμίσεις ώστε να μένει το στυλ του θέματος.
 */
.nw-form {
	--nw-gap: 16px;
	--nw-border: rgba(0, 0, 0, .18);
	--nw-radius: 4px;
	--nw-accent: currentColor;
	--nw-ok: #1e7e34;
	--nw-error: #c62828;
	position: relative;
}

.nw-form__grid {
	display: flex;
	flex-wrap: wrap;
	gap: var(--nw-gap);
}

.nw-form__field {
	flex: 1 1 100%;
	display: flex;
	flex-direction: column;
	gap: 6px;
	min-width: 0;
}

.nw-form__field--half {
	flex: 1 1 calc(50% - var(--nw-gap) / 2);
}

@media (max-width: 600px) {
	.nw-form__field--half {
		flex-basis: 100%;
	}
}

.nw-form label,
.nw-form__label {
	font-weight: 600;
	font-size: .9em;
}

.nw-form__req {
	color: var(--nw-error);
}

.nw-form textarea {
	resize: vertical;
	min-height: 120px;
}

.nw-form__choice {
	display: flex;
	align-items: flex-start;
	gap: 8px;
	font-weight: 400;
	cursor: pointer;
}

.nw-form__choice input {
	margin-top: .25em;
	flex: none;
}

.nw-form__choices {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
}

.nw-form .is-invalid input,
.nw-form .is-invalid select,
.nw-form .is-invalid textarea,
.nw-form [aria-invalid="true"] {
	border-color: var(--nw-error);
}

.nw-form .is-invalid .nw-form__choice {
	color: var(--nw-error);
}

.nw-form__submit {
	margin-top: var(--nw-gap);
	cursor: pointer;
}

.nw-form.is-sending .nw-form__submit {
	opacity: .6;
	cursor: wait;
}

.nw-form__status:empty {
	display: none;
}

.nw-form__status {
	margin-top: var(--nw-gap);
	padding: 10px 14px;
	border-radius: var(--nw-radius);
	border-left: 3px solid var(--nw-border);
}

.nw-form__status.is-ok {
	border-color: var(--nw-ok);
	color: var(--nw-ok);
}

.nw-form__status.is-error {
	border-color: var(--nw-error);
	color: var(--nw-error);
}

.nw-form__heading {
	flex: 1 1 100%;
	margin: 8px 0 0;
	font-weight: 700;
}

/* Newsletter: email και κουμπί στη σειρά. */
.nw-newsletter .nw-form__grid {
	align-items: flex-end;
}

.nw-newsletter--inline .nw-form__field--email {
	flex: 1 1 220px;
}

.nw-newsletter--inline .nw-form__submit {
	margin-top: 0;
}

.nw-newsletter--inline .nw-form__inline {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	flex: 1 1 100%;
	align-items: stretch;
}
