/* ==========================================================================
   Automora Contact Form (Figma Contact D1 form card)
   Specificity note: Elementor Site Settings > Form Fields / Buttons style every
   input/textarea/select/button (`.elementor-kit-N input:not(..):not(..)` = 0,3,1,
   0,4,1 on focus; `.elementor-kit-N button:hover` = 0,2,1). The repeated
   `.am-cf__control` class and `button.am-cf__submit.am-button` win.
   ========================================================================== */

:where(.e-con, .e-con-inner) > .elementor-widget-automora-contact-form { width: 100%; }

.am-cf {
	--am-cf-focus: var(--am-w-orange);
	--am-cf-error: #FF6B4A;
	--am-cf-success: #5BD68B;
	--am-cf-placeholder: #8E8C8C;
	position: relative; width: 100%; padding: 40px 53px; overflow: hidden;
	background: var(--am-w-card); border-radius: 20px; color: var(--am-w-text);
	font-family: var(--am-w-head);
}
.am-cf__form { display: flex; flex-direction: column; gap: 16px; margin: 0; }
.am-cf__grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 16px; column-gap: 12px; }
.am-cf__field { display: flex; flex-direction: column; gap: 8px; min-width: 0; grid-column: 1 / -1; }
.am-cf__field--half { grid-column: auto / span 1; }
@media (max-width: 767px) {
	.am-cf__field--half { grid-column: 1 / -1; }
}

/* Labels */
.am-cf .am-cf__label {
	display: block; margin: 0; padding: 0;
	font-family: var(--am-w-head); font-size: 16px; font-weight: 500; line-height: 1.2;
	letter-spacing: 0; text-transform: capitalize; color: #F9F9F9;
}
.am-cf__mark { margin-left: 3px; color: var(--am-w-orange); }
.am-cf--no-labels .am-cf__label { position: absolute !important; width: 1px; height: 1px; margin: -1px; padding: 0; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }

/* Controls */
.am-cf .am-cf__control.am-cf__control.am-cf__control {
	display: block; box-sizing: border-box; width: 100%; max-width: 100%; height: 52px; min-height: 0; margin: 0;
	padding: 16px; background: transparent; background-color: transparent;
	border: 1px solid var(--am-w-line); border-radius: 8px; box-shadow: none; outline: 0;
	font-family: var(--am-w-head); font-size: 14px; font-weight: 300; line-height: 1.2; letter-spacing: 0;
	text-transform: none; color: #F9F9F9;
	transition: border-color .3s var(--am-w-ease), background-color .3s var(--am-w-ease), box-shadow .3s var(--am-w-ease);
	-webkit-appearance: none; appearance: none;
}
.am-cf .am-cf__control.am-cf__control.am-cf__control::placeholder { color: var(--am-cf-placeholder); opacity: 1; }
.am-cf textarea.am-cf__control.am-cf__control.am-cf__control { height: 88px; min-height: 88px; resize: vertical; line-height: 1.4; }
.am-cf .am-cf__control.am-cf__control.am-cf__control:hover { border-color: #402C2C; }
.am-cf .am-cf__control.am-cf__control.am-cf__control:focus {
	border-color: var(--am-cf-focus); outline: 0;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--am-cf-focus) 22%, transparent);
}
.am-cf .am-cf__control.am-cf__control.am-cf__control[aria-invalid="true"] { border-color: var(--am-cf-error); }

/* Select: custom chevron (Figma contact-3-3167-select-chevron-20.svg). */
.am-cf .am-cf__control--select.am-cf__control.am-cf__control {
	padding-right: 44px; cursor: pointer; text-overflow: ellipsis;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20' viewBox='0 0 24 24'%3E%3Cpath fill='none' stroke='%23F9F9F9' stroke-width='2' stroke-linecap='round' stroke-linejoin='round' d='m6 9 6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat; background-position: right 16px center; background-size: 20px 20px;
}
.am-cf .am-cf__control--select.is-empty.am-cf__control.am-cf__control { color: var(--am-cf-placeholder); }
.am-cf .am-cf__control--select option { color: #F9F9F9; background: var(--am-w-card); }

/* Consent */
.am-cf__consent { display: flex; align-items: flex-start; gap: 10px; }
.am-cf .am-cf__check {
	flex: none; width: 18px; height: 18px; margin: 1px 0 0; padding: 0;
	accent-color: var(--am-w-orange); cursor: pointer;
}
.am-cf .am-cf__check:focus-visible { outline: 2px solid var(--am-cf-focus); outline-offset: 2px; }
.am-cf .am-cf__consent-text { margin: 0; font-family: var(--am-w-head); font-size: 14px; font-weight: 400; line-height: 1.4; color: #979797; text-transform: none; cursor: pointer; }
.am-cf .am-cf__consent-text a { color: #F9F9F9; text-decoration: underline; text-underline-offset: 2px; }
.am-cf .am-cf__consent-text a:hover { color: var(--am-w-orange); }

/* Errors + status */
.am-cf__error { margin: 0; font-family: var(--am-w-body); font-size: 13px; line-height: 1.3; color: var(--am-cf-error); }
.am-cf__error[hidden] { display: none; }
.am-cf__status { font-family: var(--am-w-body); font-size: 15px; line-height: 1.4; color: var(--am-w-text); }
.am-cf__status:empty { display: none; }
.am-cf__status.is-success { color: var(--am-cf-success); }
.am-cf__status.is-error { color: var(--am-cf-error); }

/* Honeypot (off-screen, not display:none so naive bots still fill it). */
.am-cf__hp { position: absolute !important; left: -9999px; top: auto; width: 1px; height: 1px; overflow: hidden; }

/* Submit: real <button> wearing the shared .am-button markup. */
.am-cf__actions { display: flex; flex-direction: column; align-items: flex-start; }
:where(.am-cf) .am-cf__submit { --am-btn-bg: #221818; --am-btn-fg: #F9F9F9; }
.am-cf button.am-cf__submit.am-button,
.am-cf button.am-cf__submit.am-button:hover,
.am-cf button.am-cf__submit.am-button:focus,
.am-cf button.am-cf__submit.am-button:active {
	width: auto; max-width: 100%; height: auto; min-height: 0; margin: 0; padding: 0;
	background: transparent; background-color: transparent; border: 0; border-radius: var(--am-btn-radius);
	box-shadow: none; color: inherit; text-transform: none; letter-spacing: normal;
	font-family: inherit; font-size: inherit; font-weight: inherit; line-height: inherit;
}
.am-cf button.am-cf__submit.am-button:focus-visible { outline: 2px solid var(--am-cf-focus); outline-offset: 4px; }
.am-cf button.am-cf__submit.am-button[disabled] { cursor: progress; opacity: .7; }
.am-cf.is-sending .am-cf__submit .am-button__icon svg { animation: am-cf-nudge .9s var(--am-w-ease) infinite; }
@keyframes am-cf-nudge { 50% { transform: translateX(4px); } }

@media (max-width: 767px) {
	.am-cf .am-cf__control.am-cf__control.am-cf__control { font-size: 16px; } /* no iOS zoom on focus */
}
@media (prefers-reduced-motion: reduce) {
	.am-cf *, .am-cf *::before { transition: none !important; animation: none !important; }
}
