/* ═══════════════════════════════════════════════════════════════
   TMC Global Elementor Form Styles — uses Elementor global vars
   ═══════════════════════════════════════════════════════════════ */

/* ── Field Labels ─────────────────────────────────────────────── */
.elementor-form .elementor-field-label,
.elementor-form label {
    color: var(--e-global-color-67685a52, #C9A84C) !important; /* TMC Gold */
    font-family: var(--e-global-typography-primary-font-family, 'Public Sans'), sans-serif;
    font-size: 0.875rem;
    font-weight: 600;
    letter-spacing: 0.04em;
    text-transform: uppercase;
    margin-bottom: 6px;
    display: block;
}

/* ── Text Inputs, Textarea, Select ────────────────────────────── */
.elementor-form .elementor-field-textual,
.elementor-form input[type="text"],
.elementor-form input[type="email"],
.elementor-form input[type="tel"],
.elementor-form input[type="url"],
.elementor-form input[type="number"],
.elementor-form input[type="date"],
.elementor-form input[type="password"],
.elementor-form textarea,
.elementor-form select {
    background-color: rgba(13, 27, 42, 0.85) !important;
    border: 1px solid rgba(201, 168, 76, 0.25) !important;
    border-radius: 4px !important;
    color: var(--e-global-color-text, #ffffff) !important;
    font-family: var(--e-global-typography-primary-font-family, 'Public Sans'), sans-serif !important;
    font-size: 0.95rem !important;
    padding: 12px 16px !important;
    width: 100% !important;
    box-sizing: border-box !important;
    transition: border-color 0.2s ease, box-shadow 0.2s ease !important;
    -webkit-appearance: none;
    appearance: none;
}

.elementor-form .elementor-field-textual::placeholder,
.elementor-form input::placeholder,
.elementor-form textarea::placeholder {
    color: rgba(179, 179, 179, 0.55) !important;
    font-style: italic;
}

/* ── Focus States ─────────────────────────────────────────────── */
.elementor-form .elementor-field-textual:focus,
.elementor-form input:focus,
.elementor-form textarea:focus,
.elementor-form select:focus {
    outline: none !important;
    border-color: var(--e-global-color-67685a52, #C9A84C) !important;
    box-shadow: 0 0 0 3px rgba(201, 168, 76, 0.18) !important;
}

/* ── Select Arrow ─────────────────────────────────────────────── */
.elementor-form select {
    background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23C9A84C' stroke-width='1.5' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") !important;
    background-repeat: no-repeat !important;
    background-position: right 14px center !important;
    padding-right: 40px !important;
}

/* ── Checkboxes & Radio Buttons ───────────────────────────────── */
.elementor-form .elementor-field-type-checkbox .elementor-field-option,
.elementor-form .elementor-field-type-radio .elementor-field-option {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 8px;
    cursor: pointer;
    color: var(--e-global-color-text, #e0e0e0);
    font-family: var(--e-global-typography-primary-font-family, 'Public Sans'), sans-serif;
    font-size: 0.9rem;
}

.elementor-form .elementor-field-type-checkbox input[type="checkbox"],
.elementor-form .elementor-field-type-radio input[type="radio"] {
    width: 18px !important;
    height: 18px !important;
    min-width: 18px !important;
    padding: 0 !important;
    accent-color: var(--e-global-color-67685a52, #C9A84C);
    border: 1px solid rgba(201, 168, 76, 0.4) !important;
    border-radius: 3px !important;
    cursor: pointer;
    flex-shrink: 0;
}

/* ── Acceptance / GDPR ────────────────────────────────────────── */
.elementor-form .elementor-field-type-acceptance .elementor-field-option {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    color: rgba(179, 179, 179, 0.8);
    font-size: 0.82rem;
    line-height: 1.5;
}

/* ── Submit Button ────────────────────────────────────────────── */
.elementor-form .elementor-button[type="submit"],
.elementor-form .elementor-button.elementor-size-md,
.elementor-form .elementor-button.elementor-size-sm,
.elementor-form .elementor-button.elementor-size-lg,
.elementor-form .elementor-button.elementor-size-xl {
    background-color: var(--e-global-color-secondary, #C9A84C) !important;
    color: var(--e-global-color-primary, #060D14) !important;
    font-family: var(--e-global-typography-primary-font-family, 'Public Sans'), sans-serif !important;
    font-weight: 700 !important;
    font-size: 0.9rem !important;
    letter-spacing: 0.08em !important;
    text-transform: uppercase !important;
    border: none !important;
    border-radius: 4px !important;
    padding: 14px 32px !important;
    cursor: pointer !important;
    transition: background-color 0.2s ease, transform 0.15s ease, box-shadow 0.2s ease !important;
    width: auto !important;
    min-width: 160px;
}

.elementor-form .elementor-button[type="submit"]:hover {
    background-color: var(--e-global-color-67685a52, #b8963e) !important;
    transform: translateY(-2px) !important;
    box-shadow: 0 6px 20px rgba(201, 168, 76, 0.3) !important;
}

.elementor-form .elementor-button[type="submit"]:active {
    transform: translateY(0) !important;
}

/* ── Field Groups / Rows ──────────────────────────────────────── */
.elementor-form .elementor-field-group {
    margin-bottom: 20px !important;
}

.elementor-form .elementor-field-group:last-child {
    margin-bottom: 0 !important;
}

/* ── Error States ─────────────────────────────────────────────── */
.elementor-form .elementor-field-group.elementor-error .elementor-field-textual,
.elementor-form .elementor-field-group.elementor-error input,
.elementor-form .elementor-field-group.elementor-error textarea,
.elementor-form .elementor-field-group.elementor-error select {
    border-color: #e05252 !important;
    box-shadow: 0 0 0 3px rgba(224, 82, 82, 0.15) !important;
}

.elementor-form .elementor-message.elementor-message-danger,
.elementor-form .elementor-field-group .elementor-message {
    color: #e05252 !important;
    font-size: 0.8rem !important;
    margin-top: 4px !important;
    font-family: var(--e-global-typography-primary-font-family, 'Public Sans'), sans-serif !important;
}

/* ── Success Message ──────────────────────────────────────────── */
.elementor-form .elementor-message.elementor-message-success {
    background: rgba(201, 168, 76, 0.12) !important;
    border: 1px solid rgba(201, 168, 76, 0.35) !important;
    border-radius: 4px !important;
    color: var(--e-global-color-67685a52, #C9A84C) !important;
    padding: 14px 18px !important;
    font-family: var(--e-global-typography-primary-font-family, 'Public Sans'), sans-serif !important;
    font-size: 0.95rem !important;
    font-weight: 600 !important;
}

/* ── Responsive ───────────────────────────────────────────────── */
@media (max-width: 768px) {
    .elementor-form .elementor-button[type="submit"] {
        width: 100% !important;
        min-width: unset;
    }
    .elementor-form .elementor-field-textual,
    .elementor-form input,
    .elementor-form textarea,
    .elementor-form select {
        font-size: 1rem !important;
    }
}
