/* Sage Terminal — kapcsolat űrlap ([anyweb_contact_form]).
   Tokenek a komponensre szűkítve. Nincs gradient, nincs serif, nincs árnyék a kártyán.
   Primary gomb = Ink. Zöld csak státuszra. */

.anyweb-contact-form {
	--ink: #1B211D;
	--ink-hover: #313A34;
	--paper: #FAFAF7;
	--white: #FFFFFF;
	--mist: #E4E9E0;
	--sage: #8FA894;
	--leaf: #4F6B55;
	--forest: #34503C;
	--text: #4E5751;
	--text-muted: #6A716B;
	--text-soft: #8A9186;
	--error: #8A4A3C;
	--color-border: rgba(27, 33, 29, 0.10);
	--color-border-input: rgba(27, 33, 29, 0.14);
	--font-heading: "Manrope", system-ui, sans-serif;
	--font-body: "DM Sans", system-ui, sans-serif;
	--font-mono: "DM Mono", ui-monospace, monospace;
	--radius-button: 6px;
	--radius-card: 8px;
	--space-1: 8px;
	--space-2: 16px;
	--space-3: 24px;
	--space-4: 32px;
	position: relative;
	width: 100%;
	font-family: var(--font-body);
	color: var(--text);
	box-sizing: border-box;
}

.anyweb-contact-form *,
.anyweb-contact-form *::before,
.anyweb-contact-form *::after {
	box-sizing: border-box;
}

.anyweb-contact-form__feedback {
	padding: 14px 18px;
	border-radius: var(--radius-button);
	font-size: 14px;
	line-height: 1.65;
	font-weight: 500;
	margin-bottom: var(--space-2);
}

.anyweb-contact-form__feedback--success {
	background: var(--mist);
	color: var(--forest);
	border: 1px solid var(--color-border);
}

.anyweb-contact-form__feedback--error {
	background: var(--white);
	color: var(--error);
	border: 1px solid var(--error);
}

.anyweb-contact-form__form {
	display: flex;
	flex-direction: column;
	gap: var(--space-2);
}

.anyweb-contact-form__mezo-racs {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--space-2);
}

.anyweb-contact-form__mezo {
	margin: 0;
	display: flex;
	flex-direction: column;
	gap: 7px;
}

.anyweb-contact-form__label {
	color: var(--text);
	font-weight: 500;
	font-size: 13.5px;
	letter-spacing: 0;
	text-transform: none;
}

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

.anyweb-contact-form__input,
.anyweb-contact-form__textarea,
.anyweb-contact-form select {
	background: var(--paper);
	border: 1px solid var(--color-border-input);
	border-radius: var(--radius-button);
	color: var(--ink);
	padding: 13px 15px;
	font-size: 16px;
	line-height: 1.5;
	outline: none;
	font-family: var(--font-body);
	transition: background 0.2s ease, border-color 0.2s ease;
	width: 100%;
	box-shadow: none;
}

.anyweb-contact-form__textarea {
	resize: vertical;
	min-height: 132px;
}

.anyweb-contact-form__hint {
	display: block;
	margin-top: 0;
	font-family: var(--font-mono);
	font-size: 11.5px;
	color: var(--text-soft);
}

.anyweb-contact-form__input:focus,
.anyweb-contact-form__textarea:focus,
.anyweb-contact-form select:focus {
	border-color: var(--ink);
	background: var(--white);
	box-shadow: none;
}

.anyweb-contact-form__input::placeholder,
.anyweb-contact-form__textarea::placeholder {
	color: var(--text-soft);
}

.anyweb-contact-form select {
	appearance: none;
	-webkit-appearance: none;
	cursor: pointer;
}

.anyweb-contact-form__mezo.is-error .anyweb-contact-form__input,
.anyweb-contact-form__mezo.is-error .anyweb-contact-form__textarea,
.anyweb-contact-form__mezo.is-error select {
	border-color: var(--error);
}

.anyweb-contact-form__check {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	color: var(--text);
	font-size: 14px;
	line-height: 1.65;
	font-weight: 400;
}

.anyweb-contact-form__check input[type="checkbox"],
.anyweb-contact-form__consent input[type="checkbox"] {
	width: 17px;
	height: 17px;
	flex: none;
	margin-top: 2px;
	accent-color: var(--ink);
	cursor: pointer;
}

.anyweb-contact-form__consent {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	cursor: pointer;
}

.anyweb-contact-form__privacy-text {
	color: var(--text-muted);
	font-size: 14px;
	line-height: 1.65;
	margin: 0;
}

.anyweb-contact-form__privacy-text a,
.anyweb-contact-form__privacy-link {
	color: var(--leaf);
	text-decoration: underline;
	transition: color 0.2s ease;
}

.anyweb-contact-form__privacy-text a:hover,
.anyweb-contact-form__privacy-link:hover {
	color: var(--ink);
}

.anyweb-contact-form__checkbox.is-error .anyweb-contact-form__consent input[type="checkbox"] {
	outline: 1px solid var(--error);
	outline-offset: 2px;
}

.anyweb-contact-form__hp {
	position: absolute;
	left: -9999px;
	top: -9999px;
	width: 1px;
	height: 1px;
	overflow: hidden;
}

.anyweb-contact-form__submit {
	margin: 8px 0 0;
	display: flex;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}

.anyweb-contact-form__note {
	font-family: var(--font-mono);
	font-size: 12px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--text-soft);
}

.anyweb-contact-form__gomb {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: var(--ink);
	color: var(--paper);
	font-family: var(--font-body);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.2;
	padding: 15px 28px;
	border: 0;
	border-radius: var(--radius-button);
	text-transform: none;
	letter-spacing: 0;
	cursor: pointer;
	box-shadow: none;
	white-space: nowrap;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.anyweb-contact-form__gomb:hover,
.anyweb-contact-form__gomb:focus-visible {
	background: var(--ink-hover);
	outline: none;
	transform: none;
}

.anyweb-contact-form__gomb:focus-visible {
	outline: 1px solid var(--ink);
	outline-offset: 2px;
}

@media (max-width: 767px) {
	.anyweb-contact-form__mezo-racs {
		grid-template-columns: 1fr;
	}
}
